【发布时间】:2025-12-19 17:20:16
【问题描述】:
是否可以设置 SDL 以进行三重缓冲?
如果是这样,怎么做,因为 SDL 只有一个 SDL_DOUBLEBUF 常量。
【问题讨论】:
是否可以设置 SDL 以进行三重缓冲?
如果是这样,怎么做,因为 SDL 只有一个 SDL_DOUBLEBUF 常量。
【问题讨论】:
您必须在驱动程序配置中激活三重缓冲,而不是在 SDL 中。
例如,在带有 nVidia 显卡的 linux 上,您必须启用 X.Org TripleBuffer 选项:
Option "TripleBuffer" "1"
当您将 SDL 双缓冲与 vsync 和硬件表面结合使用时,如果驱动程序支持并在配置中启用,则驱动程序将使用三重缓冲。
【讨论】:
在 Mac OS 上,当您订购双缓冲时,您将获得三重缓冲。 (第 3 个仅适用于操作系统)。
在其他操作系统上,可以将 gpu 驱动程序的配置更改为具有第三个缓冲区。 但是 3rd 将由 gpu 驱动程序管理,因此您无法访问。
【讨论】: