gpt4 book ai didi

c++ - timeEndPeriod 是恢复之前的值还是默认值?

转载 作者:可可西里 更新时间:2023-11-01 11:30:44 25 4
gpt4 key购买 nike

假设默认计时器分辨率为 15 毫秒。鉴于这种情况:

Process A calls timeBeginPeriod(1);
Now timer resolution is 1ms.
Process B calls timeBeginPeriod(2);
Now timer resolution is 2ms.
Process B calls timeEndPeriod(2);

那么定时器分辨率是多少?它会回落到 1 毫秒还是 15 毫秒?

让我们稍微修改一下场景:

Process A calls timeBeginPeriod(1);
Now timer resolution is 1ms.
Process B calls timeBeginPeriod(2);
Now timer resolution is 2ms.
Process A calls timeEndPeriod(1);

现在定时器分辨率是多少?它是否停留在 2ms 直到进程 B 调用 timeEndPeriod(2)?

最佳答案

来自 MSDN:

Windows uses the lowest value (that is, highest resolution) requested by any process.

假设您的进程是唯一调用 timeBeginPeriod() 的进程,那么:

Q: What is the timer resolution then? Does it fall back to 1 or 15ms?

它没有改变,因为 1 毫秒(进程 A 要求的)是最低分辨率(然后是应用的分辨率)。所以答案是:它是 1 毫秒,当进程 B 发出请求时它没有改变,因为它是一个全局设置,然后应用了最严格(最低)的设置。

Q: Now what is the timer resolution? Does it stay at 2ms until process B calls timeEndPeriod(2)?

是的,因为现在要求的最低分辨率是 2 毫秒,所以系统将遵守该请求,直到调用 timeEndPeriod(2)

关于c++ - timeEndPeriod 是恢复之前的值还是默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21187873/

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