我在屏幕上使用XWindow可绘图、Pixmap和XRender绘制一些东西。我可以看到,有时会有闪烁。有什么办法等着维布兰克吗?我已经谷歌了很多,感觉就像在森林里找硬币一样。
不涉及OpenGL。它是Linux (Ubuntu)。我可以用(纳米)睡眠(),但需要知道什么时候开始画画了。
发布于 2016-07-27 12:46:08
我发现到目前为止最简单的解决方案是使用GLX,因为它在同步和双缓冲方面具有出色的高级接口。请注意GLX不是OpenGL,它是一个X扩展。您需要一个虚拟的OpenGL上下文,因为SwapBuffers (出于一些奇怪的原因)要求它,但仅此而已。
如果出于任何原因不使用GLX,可以通过X双缓冲区扩展(DBE)创建双缓冲区,并使用X同步扩展手动同步显示。我本人还没有这样做,但是您应该能够找到一些您喜欢的东西,调用XSyncListSystemCounters (在正确的初始化之后!):
XSyncListSystemCounters返回一个指向显示器支持的系统计数器数组的指针。
然而,我无法找到更多关于艰难道路的自我。祝好运。
https://stackoverflow.com/questions/30277659
复制相似问题