本文介绍了Linux clock_gettime(CLOCK_MONOTONIC)奇怪的非单调行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的应用程序中,我使用 clock_gettime(CLOCK_MONOTONIC)
来测量帧之间的增量时间(gamedev中的典型方法)和不时我遇到了一个奇怪的行为: clock_gettime(..)
- 返回的值偶尔不是单调的(即prev。time 比当前时间更大 )。
$ b
目前,如果发生这样的悖论,我只需跳过当前框架并开始处理下一个框架。
clock_gettime 的错误吗?我使用的是Ubuntu Server版本10.04(内核2.6.32-24,x86_64),gcc-4.4.3。
解决方案
man clock_gettime
说:
$ b
Since CLOCK_MONOTONIC_RAW
is not subject of NTP adjustments, I guess CLOCK_MONOTONIC
could be.
We had similar problems with Redhat Enterprise 5.0 with 2.6.18 kernel and some specific Itanium processor. We couldn't reproduce it with other processor on the same OS. It was fixed in RHEL 5.3 with slightly newer kernel and some Redhat patches.
这篇关于Linux clock_gettime(CLOCK_MONOTONIC)奇怪的非单调行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!