从没遇见,getTickCount只能得到64HZ的时间间隔,求教

yiqianlong 2008-06-10 12:04:18
很奇怪的问题,我机上的VB6在取系统时间时,得到的是64分之一秒的倍数。
一开始用Timer控件,发现Interval怎么设都只得最高每秒64HZ,
再后用Timer()、GetTickCount()函数也是一样,取回的时间都间隔64分之一秒。
以下是一个只有一个按键和TEXT的测试程序:
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub Command1_Click()
Dim i As Integer
Dim t1 As Long
Text1 = ""
While i < 100
If t1 <> GetTickCount Then
Text1 = Text1 & GetTickCount & ","
t1 = GetTickCount
i = i + 1
End If
' DoEvents
Wend
End Sub
结果Text1内容:
11563703,11563718,11563734,11563750,11563765,11563781,11563796,11563812,11563828,11563843,11563859,11563875,11563890,11563906,11563921,11563937,11563953,11563968,11563984,11564000,11564015,11564031,11564046,11564062,11564078,11564093,11564109,11564125,11564140,11564156,11564171,11564187,11564203,11564218,11564234,11564250,11564265,11564281,11564296,11564312,11564328,11564343,11564359,11564375,11564390,11564406,11564421,11564437,11564453,11564468,11564484,11564500,11564515,11564531,11564546,11564562,11564578,11564593,11564609,11564625,11564640,11564656,11564671,11564687,11564703,11564718,11564734,11564750,11564765,11564781,11564796,11564812,11564828,11564843,11564859,11564875,11564890,11564906,11564921,11564937,11564953,11564968,11564984,11565000,11565015,11565031,11565046,11565062,11565078,11565093,11565109,11565125,11565140,11565156,11565171,11565187,11565203,11565218,11565234,11565250,
很明显以64HZ给出的时间。
有没哪位帮忙解说一下呢?
PS:CPU为AMD 64Bit 3200+
...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiqianlong 2008-06-12
  • 打赏
  • 举报
回复
果然还是靠自己比较可靠
找了N多资料
大约就是,GetTickCount虽然以毫秒为单位,但精度只能达到十几毫秒(鄙视说精度是毫秒级的人,在网上说达到毫秒级的竟然有三分之二!),其步进为一个Tick的时间间隔,在每个系统上都不同(还是不明白为什么)。其它如SLeep 、Timer、TimeGetTime等函数也一样以1Tick为步进。
不过没时间再细究了,就结了吧
yiqianlong 2008-06-10
  • 打赏
  • 举报
回复
上面两位谢了,不过离题了
zzyong00 2008-06-10
  • 打赏
  • 举报
回复
QueryPerformanceFrequency
QueryPerformanceCounter
vbman2003 2008-06-10
  • 打赏
  • 举报
回复
你这样测试显然不准确,if判断需要时间、字符串接需要时间、变量赋值需要时间.....
_码农一个_ 2008-06-10
  • 打赏
  • 举报
回复
问题一:If t1 <> GetTickCount Then 这个有什么用吗?

问题二:循环的操作都一样,当然时间间隔一样。

问题三:你的实际需求是什么?
yiqianlong 2008-06-10
  • 打赏
  • 举报
回复
没人知道吗?
刚在虚拟机跑过(Microsoft Virtual PC 6,XP,256M内存),时间间隔变成10MS了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧