![同步到 vblank - Nvidia X 服务器设置](https://linux22.com/image/1332724/%E5%90%8C%E6%AD%A5%E5%88%B0%20vblank%20-%20Nvidia%20X%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AE%BE%E7%BD%AE.png)
我在 Ubuntu 12.04 上运行了一个 OpenGL 应用程序,但帧率非常低。我最终设法通过在 Nvidia X Server 设置中禁用“同步到 vblank”解决了该问题,尽管在运行较繁忙的应用程序时我可能无法防止屏幕撕裂。我如何在保持与 vblank 同步的同时提高帧率?
答案1
使用垂直同步时,您的应用程序将仅以屏幕刷新率的整倍帧速率运行(对于 60Hz 屏幕,帧速率为 60、30、20 等),这确实很慢。如果您想减少撕裂,则需要实现双重(或三重)缓冲在您的应用程序中。具体实现将根据您使用的框架而有所不同。
答案2
Compiz 可能会影响图形性能。如果您正在运行 Unity,则无法将其关闭,但可以使用 fallback 2D 会话来运行该应用程序(或者您可以尝试使用不使用 Compiz 的 gnome-shell 之类的程序)。
除此之外,你真的没什么可做的。关闭 VSync 时程序运行速度会更快,因此,打开 VSync 时程序运行速度会更慢。我只能建议运行轻量级窗口管理器。你可能需要更好的显卡。