作者kuraki7up (Make Mai Day)
看板C_Sharp
標題[問題] 利用timer移動物件位置,但速度不定
時間Sun Jan 23 08:58:37 2011
我用一個timer定時(10~20ms)去移動picturebox的位置,
由右至左,每次移動都固定間距(1~3 pixel),
但是很不順暢,有時快,有時慢,卡卡的
尤其是物件快移出畫面時,速度會變快,
這是什麼原因?
以下是我timer裡的程式碼
void test_Tick(object sender, EventArgs e)
{
pictureBox1.Left-=2;
Application.DoEvents();//這行有加沒加 都卡卡的
if (pictureBox1.Left <= -pictureBox1.Width)
{
pictureBox1.Left = this.Width;
}
}
謝謝指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.74.6
1F:→ anumis:Windows只會幫你畫出Form區域的內容,超出的部份就不會畫了 01/23 09:03
2F:→ anumis:也沒必要畫,所以畫的東西變少,自然速度變快 01/23 09:04
3F:→ proach:你把每次發生的時間記錄下來,會發現間隔不會是20ms :) 01/24 00:00
4F:推 clarkman:timer的priority比較低,很容易被別的程序搶走,簡單講 01/25 10:45
5F:→ clarkman:就是不更精準,你應該換更精準的Timer 01/25 10:45
6F:推 glennchen:你有用double buffer嗎??? 01/31 14:12