gpt4 book ai didi

c# - 为什么通过 timeBeginPeriod 增加定时器分辨率会影响功耗?

转载 作者:可可西里 更新时间:2023-11-01 08:05:57 26 4
gpt4 key购买 nike

我目前正在用 C# 编写一个应用程序,我需要在其中触发大约 1 秒的计时器。每 5 毫秒。从一些研究来看,执行此操作的最佳方法似乎涉及 p/调用 timeBeginPeriod(...) 来更改系统计时器的分辨率。它在我的示例代码中运行良好。

我在 Larry Osterman 的 MSDN 博客 this entry 中发现了一个关于使用此函数的有趣警告。 :

Adam: calling timeBeginPeriod increases the accuracy of GetTickCount as well.

using timeBeginPeriod is a hideously bad idea in general - we've been actively removing all of the uses of it in Windows because of the power consumption consequences associated with using it.

There are better ways of ensuring that your thread runs in a timely fashion.

有谁知道为什么会发生这种情况,或者那些“更好的方法”(在线程中未指定)可能是什么?我们在谈论多少额外的功耗?

最佳答案

因为它会导致更多的 CPU 使用率。一个很好的解释是在 Timers, Timer Resolution, and Development of Efficient Code .

关于c# - 为什么通过 timeBeginPeriod 增加定时器分辨率会影响功耗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590475/

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