首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Xlib应用程序中等待VSYNC?

如何在Xlib应用程序中等待VSYNC?
EN

Stack Overflow用户
提问于 2015-05-16 15:46:40
回答 1查看 2.4K关注 0票数 18

我在屏幕上使用XWindow可绘图、Pixmap和XRender绘制一些东西。我可以看到,有时会有闪烁。有什么办法等着维布兰克吗?我已经谷歌了很多,感觉就像在森林里找硬币一样。

不涉及OpenGL。它是Linux (Ubuntu)。我可以用(纳米)睡眠(),但需要知道什么时候开始画画了。

EN

回答 1

Stack Overflow用户

发布于 2016-07-27 12:46:08

我发现到目前为止最简单的解决方案是使用GLX,因为它在同步和双缓冲方面具有出色的高级接口。请注意GLX不是OpenGL,它是一个X扩展。您需要一个虚拟的OpenGL上下文,因为SwapBuffers (出于一些奇怪的原因)要求它,但仅此而已。

如果出于任何原因不使用GLX,可以通过X双缓冲区扩展(DBE)创建双缓冲区,并使用X同步扩展手动同步显示。我本人还没有这样做,但是您应该能够找到一些您喜欢的东西,调用XSyncListSystemCounters (在正确的初始化之后!):

XSyncListSystemCounters返回一个指向显示器支持的系统计数器数组的指针。

然而,我无法找到更多关于艰难道路的自我。祝好运。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30277659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档