我正在编写一个应用程序,将输入从一个设备转换到另一个设备——比如一种头部跟踪格式到另一种格式,主要用于为游戏中的多种头部跟踪提供支持。
大多数情况下,我的程序的输入是通过轮询共享内存来传递的。但是,在紧密循环中这样做会不必要地消耗 CPU 内核。应用程序必须不降低游戏体验。
Windows 上的默认计划时间似乎是 60 赫兹,所以睡眠几乎没有了。我需要的时间少于 5 毫秒,但偶尔出现的问题是可以的。
我宁愿不通过影响系统范围的计时器来影响系统配置。
我有什么选择可以防止消耗核心,但仍然主要使用 C 或 .net 每 1-5 毫秒左右执行一次方法?
我正在寻找适用于 Windows 7 的解决方案。