В моем приложении я использую clock_gettime(CLOCK_MONOTONIC)
для измерения дельта-времени между кадрами (типичный подход в гамедеве), и время от времени я сталкиваюсь с странным поведением clock_gettime(..)
- возвращаемых значений иногда не монотонны (т.е. время больше, чем текущее время).
В настоящее время, если такой парадокс случается, я просто пропускаю текущий кадр и начинаю обрабатывать следующий.
Вопрос в том, как это вообще возможно? Является ли это ошибкой в реализации Linux POSIX clock_gettime
? Я использую Ubuntu Server Edition 10.04 (ядро 2.6.32-24, x86_64), gcc-4.4.3.