任何人都知道如何避免Windows 7有时会暂停300-600ms,甚至冻结SystemTime和MultimediaTimer(因此,如果您在此暂停之前和之后测量时间,则测量0ms,而PerformanceCounter实际上确实正确地测量了此暂停.CPU负载非常低(10%)。系统使用新的MLC SSD。这些仍然有口吃问题吗?
我通过测量以每秒6帧的速度拍摄的相机的时间戳来发现这种行为。我在图像进入时记录,并查看抓取日志,图像之间的时间很好,直到我警告他们之间的时间是20%太快和20%太慢。然后我有时(每小时一次,有时仅在4小时后)得到300-600毫秒的警告。接下来是一些“太快”(图像缓冲区突然从缓冲区中提供图像,这些图像在300-600ms暂停期间累积起来)。但是,日志条目中的时间显示系统时间在此期间未更新。
日志时间戳由GetLocalTime(LPSYSTEMTIME)给出,图像之间的时间由PerformanceCounter给出。当我使用multimediatimer来测量新图像之间的时间时,它的持续时间与您在减去日志中的时间时的持续时间相同。然后我觉得奇怪的是它给了我额外的图像,时间差为0-30ms。
我在网络界面,不同的相机中尝试了各种调整和驱动程序更新,没有运气。
166ms是图像之间的理想时间,但这里是缺少时隙的“突发”以及系统时间和性能计数器之间的差异的示例:
[03:06:09:48:22:615]New Image
[03:06:09:48:22:781]New Image
[03:06:09:48:22:949]New Image
[03:06:09:48:22:974]New Image. Warning Time since last: 224ms
[03:06:09:48:23:083]New Image
[03:06:09:48:23:238]New Image. Warning Time since last: 454ms
[03:06:09:48:23:261]New Image. Warning Time since last: 224ms
[03:06:09:48:23:415]New Image. Warning Time since last: 353ms
[03:06:09:48:23:551]New Image
[03:06:09:48:23:583]New Image. Warning Time since last: 330ms
[03:06:09:48:23:734]New Image. Warning Time since last: 451ms
[03:06:09:48:23:754]New Image. Warning Time since last: 119ms
[03:06:09:48:23:854]New Image
[03:06:09:48:24:020]New Image
[03:06:09:48:24:186]New Image
[03:06:09:48:24:354]New Image
[03:06:09:48:24:520]New Image
[03:06:09:48:24:686]New Image
所以这一切都归结为这个问题:
答案 0 :(得分:0)
我通过安装新的网络驱动程序,禁用超线程,turbo boost和CPU Pstates来解决这个问题。