gpt4 book ai didi

c# - 有人可以破译 timeGetTime() 或 QueryPerformanceCounter/QueryPerformanceFrequency 是否具有较低的开销或/和准确性?

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:26 26 4
gpt4 key购买 nike

这个想法是现有项目非常频繁地使用 timeGetTime()(针对 windows 目标)。

milliseconds = timeGetTime();

现在,这可以替换为

double tmp = (double) lpPerformanceCount.QuadPart/ lpFrequency.QuadPart; 
milliseconds = rint(tmp * 1000);

lpPerformanceCount.QuadPart 和 lpFrequency.QuadPart 取自对 QueryPerformanceCounter() 和 QueryPerformanceFrequency() 的单个调用。

我知道 Windows 的内部结构有点像巫术,但有人可以破译两者中哪一个更准确或/并且开销更多吗?

我怀疑准确性可能相同,但 QueryPerformanceCounter 的开销可能更少。但我没有确凿的数据来支持它。

当然,如果情况恰恰相反,我也不会感到惊讶。

如果开销在任何方面都很微小,我会更感兴趣的是准确性是否存在任何差异。

最佳答案

timeGetTime() 的准确性是可变的,基于上次使用的 timeBeginPeriod。它永远不会比一毫秒更好。 QueryPerformanceCounter 也是可变的,具体取决于硬件支持。它永远不会比大约一微秒更差。

它们都没有显着的开销,QPC 可能更重一些。从你的问题来看,这对你是否重要还不清楚。我对此表示怀疑,但要衡量。使用 QPC。

关于c# - 有人可以破译 timeGetTime() 或 QueryPerformanceCounter/QueryPerformanceFrequency 是否具有较低的开销或/和准确性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3407779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com