作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个应用程序,将输入从一个设备转换为另一个设备 - 比如说一种头部跟踪格式到另一种格式,主要用于为游戏中多种类型的头部跟踪提供支持。
大多数情况下,程序的输入是通过轮询共享内存来传递的。然而,在紧密循环中这样做会不必要地消耗 CPU 核心。应用程序必须不会降低游戏体验。
Windows 上的默认计划时间似乎是 60 Hz,因此 sleep 时间几乎没有。我需要少于 5 毫秒,但偶尔出现一点点也没关系。
我不想通过影响系统范围的计时器来影响系统配置。
我可以选择哪些选项来防止消耗核心,但仍然主要使用 C 或 .net 每 1-5 毫秒左右执行一次某个方法?
我正在寻找适用于 Windows 7 的解决方案。
最佳答案
看起来你只有两个选择:
TSC
或 Performance Counter
如果时间合适,就执行任何需要执行的事情。关于.net - Windows 毫秒计时 - 没有 busywait?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011663/
我正在编写一个应用程序,将输入从一个设备转换为另一个设备 - 比如说一种头部跟踪格式到另一种格式,主要用于为游戏中多种类型的头部跟踪提供支持。 大多数情况下,程序的输入是通过轮询共享内存来传递的。然而
我有一个关于线程间通信的一般问题。 现在我正在使用一堆 C++ 线程 (~15)。 他们都在互相使用 BusyWait(Polling) 来获取要处理的数据。但是很难保持较低的 CPU 使用率 &&
我试图从一个 fork 进程的 STDOUT 中读取。但是,如果我在无限的 for 循环 中从管道读取数据,即使没有数据通过管道,它也会忙于等待(如果我错了请纠正我),我猜必须是比使用 sleep 更
我是一名优秀的程序员,十分优秀!