请教Gettickcount(100分)

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

Town

Unregistered / Unconfirmed
GUEST, unregistred user!
请问Gettickcount的误差有多大?

比如
time1:=gettickcount;
//do someting....
time2:=gettickcount;
Label2.caption:=inttostr(time2-time1);//毫秒数

比如,我计算出的结果为 120 毫秒, 它的误差一般在+-多少?
 
计算机的一个时钟/1/18.2s
 
我做过测试了,因为最近在做一个多媒体的项目,它的误差是+_10毫秒,,,,
 
啊?! +-10ms? 这么大的误差啊~~~
 
mygod!说的对,就是10ms。
 
如果是win98,那就是55毫秒了。
 
function tform1.gettime:double;
var int1,int2:int64;
begin
QueryperformanceCounter(int1);
Queryperformancefrequency(int2) ;
result:=int1*1000/int2;
end;
保证精确到1毫秒!
 
微软的网站上看到了, 自己也测试了, 确实是这样的:

gettickcount, timegettime 误差约为10ms; 因操作系统和机器的不同而不同。
timegettime在win95下比winnt下精确。
最好的办法,还是用Queryperformancecounter和Queryperformancefrequency。
 
后退
顶部