c/c++语言开发共享GetThreadTimes如何报告hibernate时间?

我目前正在使用GetThreadTimes告诉我在应用程序的事件循环中花了多少时间。

我想知道这会如何受到冬眠的影响。 是否报告了hibernate时间? 或者也许是系统时间? 所有版本的Windows上的行为是否相同?

注意我在这里问了Posix的相同问题。

    不,没有报告hibernate时间

    怎么可能?

    当hibernate时,计算机实际上已经关闭 ,没有计时器正在滴答作响,也没有进行计数。
    使用GetThreadTimes看到的时序是在系统计时器1的每个滴答(即中断)时计算的。

    我做了一个小C程序来测试它。
    它每1000毫秒记录一次计时,我运行它并使我的笔记本电脑hibernate(大约第9天)。
    计数中没有显示间隙 ,正如预期的那样,每条线距离前一个大约1000毫秒。

    GetThreadTimes如何报告hibernate时间?

    因此,hibernate时间不计入系统时间或用户时间。

    我不知道这与所有旧版本的Windows一致,特别是那些具有不同hibernate意义的版本,但您可以期望这在所有重要版本中保持一致。

    1 HPET,LAPIC计时器或旧的PIT,无论什么可用

      以上就是c/c++开发分享GetThreadTimes如何报告hibernate时间?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      www.ctvol.com true Article c/c++语言开发共享GetThreadTimes如何报告hibernate时间?

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519285.html

      (0)
      上一篇 2020年12月5日 上午10:29
      下一篇 2020年12月5日 上午10:32

      精彩推荐