Windows有时会挂起300-600毫秒-由Performance Counter测量

迈克尔·尼尔森

任何人都知道如何避免Windows 7有时会暂停300-600ms,甚至冻结SystemTime和MultimediaTimer(因此,如果您测量此暂停前后的时间,则该时间为0ms,而PerformanceCounter实际上确实正确地测量了此暂停。CPU负载非常低(10%)。系统使用新的MLC SSD,这些仍然存在卡顿问题吗?

我通过以每秒6帧的速度测量摄像机的时间戳来发现这种现象。我记录了图像进入的时间,然后查看抓取日志,图像之间的时间很好,直到我警告它们之间的时间是否太快20%和太慢20%。然后我有时(每小时一次,有时仅在4小时后)收到300-600ms警告。后面跟着一些“太快”(图像缓冲区突然提供了300-600ms突发暂停期间建立的缓冲区中的图像)。但是,日志条目中的时间表明在此时间内没有更新systemtime。

日志时间戳记由GetLocalTime(LPSYSTEMTIME)给出,图像之间的间隔时间由PerformanceCounter给出。当我使用多媒体计时器来测量新图像之间的时间时,其持续时间与您减去日志中的时间所获得的持续时间相同。然后我以为它以0-30ms的时差给了我额外的图像,这很奇怪。

我尝试了网络接口中的各种调整和驱动程序更新,不同的摄像头,但都没有碰到运气。

图像之间的理想时间为166ms,但这是缺少时隙的“突发”以及系统时间与PerformanceCounter之间存在差异的示例:

[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

因此,这全都归结为这个问题:

  • 什么现象会导致系统时间和多媒体时间与系统的其余部分锁定在一起,因此暂停被掩盖在时间中,而性能计数器仍保留时间,我该如何解决?
迈克尔·尼尔森

我通过安装新的网络驱动程序,禁用超线程,turbo boost和CPU Pstate来解决此问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有时会出现延迟尖峰,导致ping时间为200毫秒;使用不同的(例如Google的)DNS服务器会更好吗?

来自分类Dev

在Windows中以C ++实现小于1毫秒的延迟

来自分类Dev

.NET ReaderWriterLock的“ -1毫秒”有何意义?

来自分类Dev

300毫秒延迟消除:使用fastclick.js与使用ontouchstart

来自分类Dev

我如何在300毫秒内进行背景更改

来自分类Dev

线程“ WebContainer:0”(00000029)已激活647279毫秒,可能已挂起

来自分类Dev

有没有办法在Android ..中获得快速(5毫秒)的位置更新?

来自分类Dev

Windows 8(.1)睡眠比所需时间多1毫秒

来自分类Dev

如果API没有使用Redux提供数据,如何显示25000毫秒的超时?

来自分类Dev

执行超时(12000毫秒):是否有更好的方法来解决此问题?

来自分类Dev

将时间大于100毫秒的ping输出到带有时间戳的文件

来自分类Dev

在Windows 10计算机上的HTTP / HTTPS数据包上获得2000毫秒的延迟

来自分类Dev

右键单击计算机,有时会变成白色并冻结5秒钟

来自分类Dev

对于Windows C ++,测量时间(毫秒或微秒)

来自分类Dev

以小于1毫秒的间隔生成带有存储器预加载有效负载的原始以太网帧

来自分类Dev

Win32上的PHP 5.5.3-cURL需要400毫秒以上的时间来解析所有域名,甚至是本地主机

来自分类Dev

ssh-copy-id有时会挂起

来自分类Dev

Python socket.connect有时会挂起

来自分类Dev

JBoss 5.1-TopicConnection.createTopicSession有时会挂起

来自分类Dev

部分和OpenMP代码有时会挂起

来自分类Dev

重新启动有时会挂起

来自分类Dev

URL连接关闭有时会挂起

来自分类Dev

等待精确到20毫秒

来自分类Dev

等待精确到20毫秒

来自分类Dev

毫秒时间戳=> ISO日期关闭了1毫秒

来自分类Dev

Windows 10键盘有时会重复按键,有时会忽略按键

来自分类Dev

std :: cin有时会挂起,有时在无效输入后会永远重复

来自分类Dev

有时会恢复,有时会结帐

来自分类Dev

Windows 10:有时会休眠=关闭?

Related 相关文章

  1. 1

    有时会出现延迟尖峰,导致ping时间为200毫秒;使用不同的(例如Google的)DNS服务器会更好吗?

  2. 2

    在Windows中以C ++实现小于1毫秒的延迟

  3. 3

    .NET ReaderWriterLock的“ -1毫秒”有何意义?

  4. 4

    300毫秒延迟消除:使用fastclick.js与使用ontouchstart

  5. 5

    我如何在300毫秒内进行背景更改

  6. 6

    线程“ WebContainer:0”(00000029)已激活647279毫秒,可能已挂起

  7. 7

    有没有办法在Android ..中获得快速(5毫秒)的位置更新?

  8. 8

    Windows 8(.1)睡眠比所需时间多1毫秒

  9. 9

    如果API没有使用Redux提供数据,如何显示25000毫秒的超时?

  10. 10

    执行超时(12000毫秒):是否有更好的方法来解决此问题?

  11. 11

    将时间大于100毫秒的ping输出到带有时间戳的文件

  12. 12

    在Windows 10计算机上的HTTP / HTTPS数据包上获得2000毫秒的延迟

  13. 13

    右键单击计算机,有时会变成白色并冻结5秒钟

  14. 14

    对于Windows C ++,测量时间(毫秒或微秒)

  15. 15

    以小于1毫秒的间隔生成带有存储器预加载有效负载的原始以太网帧

  16. 16

    Win32上的PHP 5.5.3-cURL需要400毫秒以上的时间来解析所有域名,甚至是本地主机

  17. 17

    ssh-copy-id有时会挂起

  18. 18

    Python socket.connect有时会挂起

  19. 19

    JBoss 5.1-TopicConnection.createTopicSession有时会挂起

  20. 20

    部分和OpenMP代码有时会挂起

  21. 21

    重新启动有时会挂起

  22. 22

    URL连接关闭有时会挂起

  23. 23

    等待精确到20毫秒

  24. 24

    等待精确到20毫秒

  25. 25

    毫秒时间戳=> ISO日期关闭了1毫秒

  26. 26

    Windows 10键盘有时会重复按键,有时会忽略按键

  27. 27

    std :: cin有时会挂起,有时在无效输入后会永远重复

  28. 28

    有时会恢复,有时会结帐

  29. 29

    Windows 10:有时会休眠=关闭?

热门标签

归档