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