我有两台显示器(在“加入显示”设置中)、一个 NVIDIA 1070 GTX 移动 GPU 和基于 OpenGL 4.6 的 GNOME 3。
笔记本电脑内置显示器的刷新率设置为最大 120.02 Hz,第二个显示器(通过 VGA)的刷新率设置为最大 59.88 Hz。
当第二台显示器未连接时,glxgears
报告 20,000 FPS。但是,当连接第二个显示器并glxgears
在内置显示器上运行时,glxgears
帧速率锁定为 60 FPS,就好像正在使用英特尔集成 GPU 一样。
X11或OpenGL是否将所有显示器的刷新率锁定为最低通用率?
有没有办法防止这种情况并允许每个显示器都有自己的刷新率,或者这是设计所必需的吗?
答案1
您可以使用环境变量禁用垂直同步,这应该可以解决问题。
对于台面驱动程序,运行vblank_mode=0 glxgears
.
对于 nvidia 专有驱动程序,请__GL_SYNC_TO_VBLANK=0 glxgears
参阅http://us.download.nvidia.com/XFree86/Linux-x86_64/304.43/README/openglenvvariables.html。
您还应该能够在~/.nvidia-settings-rc
( SyncToVBlank=0
) 中进行设置并使用 nvidia 设置 GUI(Sync to VBlank
OpenGL 设置中的选项)。