为什么timer控件在WIN98中定时不准?(0分)

  • 主题发起人 主题发起人 truecat
  • 开始时间 开始时间
T

truecat

Unregistered / Unconfirmed
GUEST, unregistred user!
我在WIN98中使用Delphi4中的Timer控件时发现,最小的触发时间单位为55ms,
即每秒最多触发19次,当我改变定时长度时,从56ms到110ms之时,
每秒触发的次数是一样的。我在WIN2000下使用时,发现最小的触发时间为10ms。
WIN98下为什么做不到?我如果想让它更频繁的触发,怎么办?
 
好像没什么办法,Timer得精度很低,而且优先级低,根本不可靠,只能做要求不高一般用途
 
你用毫秒或者微秒查一下。
用Timer根本没有办法,用第三方元件吧。
网上有个SuperTime控件,可以精确到 1/1193180 秒(误差在 0.00000587--0.00000838
之间)。利用的原理是计算机中的可编程时间间隔定时器芯片每秒固定产生1193180次脉冲。

http://delphibbs.com/delphibbs/dispq.asp?lid=572348
 
timer象和CPU频率有关的
所以不是十分精确
还是使用一些第三方控件吧
如RDTSC ;v1.00
作者:Alexander Zloba. 这款控件是奔腾RDTSC指令的封装,
使你能够得到十亿分之一秒的时间间隔,而且使用非常简单。

http://www.delphibyte.com/download/softdown.php?softid=421&url=http://61.132.118.165/soft/delphi/Delphi3/zlrdtsc.zip
;


;
 
timer 倒不是和和CPU频率有关,它每1/18秒产生一次消息,但被发到应用程序消息队列中,
由于优先级的原因往往要等待,这是其不准的原因
 
呵!
thanks
 
谢谢各位的帮助,因为我刚上DFW,没有什么分可给,不过我会尽快赚分来报答大家的,
谢谢!请多多帮助我!
 
接受答案了.
 
后退
顶部