请教OpenGL垂直同步的问题
求高人指教。
最近在搞OpenGL开发,是这样一个功能:双屏显示,在主屏打开一个视频,窗口显示,点击全屏后,主屏停止显示,在副屏全屏显示。主屏刷新率60HZ,副屏刷新率90HZ。发现SwapBuffer的阻塞的时间不对:如果只接60HZ的屏,整个渲染和SwapBuffer大概消耗的时间就是16.6ms,如果只接90HZ的屏,消耗的就是11HZ,基本上是根据屏幕的垂直同步时间来执行渲染显示的。这样的话程序里时间逻辑很好控制,知道需要sleep多长时间然后再渲染下一帧数据。但是两个屏都接上的话,感觉Swapbuffer的时间不确定,好像是两个屏的刷新周期混在了一起,显示出来的的画面也会轻微的颤抖。
我猜想是两个屏刷新率不同导致的,换了两个60HZ的屏或者两个90HZ的屏,显示都很稳。我想能不能全屏显示的时候让SwapBuffer的阻塞时间按照所在屏幕的刷新周期来执行。
希望高手能给指点一下。