请教OpenGL垂直同步的问题

liuwg9999 2017-03-03 10:10:19
求高人指教。
最近在搞OpenGL开发,是这样一个功能:双屏显示,在主屏打开一个视频,窗口显示,点击全屏后,主屏停止显示,在副屏全屏显示。主屏刷新率60HZ,副屏刷新率90HZ。发现SwapBuffer的阻塞的时间不对:如果只接60HZ的屏,整个渲染和SwapBuffer大概消耗的时间就是16.6ms,如果只接90HZ的屏,消耗的就是11HZ,基本上是根据屏幕的垂直同步时间来执行渲染显示的。这样的话程序里时间逻辑很好控制,知道需要sleep多长时间然后再渲染下一帧数据。但是两个屏都接上的话,感觉Swapbuffer的时间不确定,好像是两个屏的刷新周期混在了一起,显示出来的的画面也会轻微的颤抖。
我猜想是两个屏刷新率不同导致的,换了两个60HZ的屏或者两个90HZ的屏,显示都很稳。我想能不能全屏显示的时候让SwapBuffer的阻塞时间按照所在屏幕的刷新周期来执行。
希望高手能给指点一下。
...全文
384 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuwg9999 2017-03-07
  • 打赏
  • 举报
回复
有没有高人出现?帮忙看看
赵4老师 2017-03-06
  • 打赏
  • 举报
回复
百度搜相关关键字。
liuwg9999 2017-03-03
  • 打赏
  • 举报
回复
引用 1楼赵4老师 的回复:
液晶显示器似乎没有垂直同步这个概念。 CRT显示器才有。
或许没有。但是测试的时间确实和刷新率相关,60hz的显示器swapbuffer用时16.6ms,90hz用时11.1ms,两个一起就很乱。显示也不稳定,画面抖。
赵4老师 2017-03-03
  • 打赏
  • 举报
回复
液晶显示器似乎没有垂直同步这个概念。 CRT显示器才有。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧