Как реализовать OpenGL GPU для синхронизации процессора
OpenGL Wiki рассказывает кое-что интересное о синхронизации GPU/CPU в последнем абзаце тематической страницы Swap Interval:
Если требуется синхронизация процессора GPU<->, вы должны использовать высокоточный / мультимедийный таймер, а не glFinish после замены буфера.
glFinish()
или же glFenceSync()
основанные подходы не работают хорошо, как предлагается в цитируемом тексте. Я считаю, что эти высокоточные / мультимедийные таймеры не являются частью спецификации OpenGL. Так:
Кто-нибудь знает, как использовать высокоточные / мультимедийные таймеры для вызова некоторого кода ЦП (возможно, получения метки времени) сразу после замены буфера на V-синхронизированном дисплее?
Я нацеливаюсь на решение, написанное на C++ и скомпилированное на Linux, но любое имя библиотеки, биты кода или интуиция очень помогли бы!