我正在考虑在两个同时处于活动状态的线程中对 QueryPerformanceCounter 进行重复调用(旋转)。我不确定这是否真的是一个问题,因为我没有看到任何关于它的文章,但是 QueryPerformanceCounter 线程安全吗?
谢谢
我正在考虑在两个同时处于活动状态的线程中对 QueryPerformanceCounter 进行重复调用(旋转)。我不确定这是否真的是一个问题,因为我没有看到任何关于它的文章,但是 QueryPerformanceCounter 线程安全吗?
谢谢
我正在考虑在两个同时处于活动状态的线程中对 QueryPerformanceCounter 进行重复调用(旋转)。
哎呀。想想你在做什么以及有多少处理器可用。如果您有一个处理器,这将不起作用:它们不能“同时处于活动状态”,因为 QueryPerformanceCounter 不会将控制权从一个线程交给另一个线程。我相当确定单处理器的win32中的线程切换具有大约1毫秒的时间粒度。
如果您有多个处理器,则可能会得到错误的结果(理论上——我没有多处理器 PC,所以我自己没有观察到这一点)。更多关于 QPC 的有趣讨论可以在互联网上找到(例如,参见Raymond Chen 的博客)
如果您真的想等待优化时间,我建议您在有此类专家的游戏编程论坛之一上询问最佳方法。