我在一个显示系统上有四个窗口,每个窗口都有自己的上下文和自己的可绘制对象(除了其中两个是另一个的孩子)。我希望同步交换同时执行的这些窗口的缓冲区的过程。快速搜索为我提供了这些可能的替代方案。
GLX_SGIX_swap_group
: 仅适用于 X11 系统。NV_swap_group
(WGL_NV_swap_group
/GLX_NV_swap_group
) :仅在支持帧锁定的 Quadro GPU 上可用。GLX_OML_sync_control
:通过 vsync 和 swap 上提供的计数器提供同步控制,但可能需要更多调整才能实现组交换。也不可用 NV 和 fglrx 系统(?)但确实支持 windows 和 X11 系统。
每个似乎都有自己的局限性,尤其是在硬件支持方面。我读过软件交换同步也是可行的,比如均衡器中提供的交换屏障?是否有可能有一个关于如何实施的指针?或者,如果有其他选择,我可能会被重定向到?