[VB6 ] Windows7用VB6的Timer不準

看板Visual_Basic作者 (( >__⊙)-q▄︻═╤═─)時間13年前 (2010/09/16 18:59), 編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
我用windows7的 使用VB6的timer時 如果timer的interval設1000時是可以很準的1秒進入中斷 可是如果設為100或是10 就會出現不準的現象... 同一台電腦 我把寫好的程式放到7的XP MODE跑 跑出來的結果卻是正常的... 我測試的方式是 c = c + 1 Label1.Caption = Format(c / 100, "00.00") & "秒" 這時的interval是10 然後我拿手錶計60秒,在7底下跑他才跑到38秒,在XPMODE下則是完全正常顯示60秒 請問怎麼會這樣呢? 我本來還以為XP MODE的效能更差會差更多...結果反而正常 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.58.105.247

09/16 19:32, , 1F
不準好像才是正常的。
09/16 19:32, 1F

09/16 19:49, , 2F
真訝異....用VS2008的VB計時器居然得到一樣的結果...
09/16 19:49, 2F

09/16 20:09, , 3F
那XP MODE不曉得是用哪招 居然會正常= =
09/16 20:09, 3F

09/16 21:40, , 4F
VB6 Timer精度好像是1/12秒的樣子...
09/16 21:40, 4F

09/17 19:15, , 5F
不准才是正常的,我記得VB6 Timer精度是1/18秒
09/17 19:15, 5F

09/17 23:59, , 6F
用1/10的精度去跑 60秒他才計到55秒...
09/17 23:59, 6F

09/18 00:00, , 7F
我還以為Ghz等級的CPU要做1/1000秒中斷應該比喝水還簡單..
09/18 00:00, 7F

09/18 00:04, , 8F
的確比喝水簡單 用別的元件就可以了
09/18 00:04, 8F

09/20 08:44, , 9F
記得MSDN上看過,當Interval太短的時候,有可能CPU在指定的
09/20 08:44, 9F

09/20 08:45, , 10F
時間剛好在做其他事情,那timer的觸發會往后順延。
09/20 08:45, 10F
文章代碼(AID): #1CaVY7sE (Visual_Basic)