Linux
誰鎖定了所有顯示器刷新率?
我有兩個顯示器(在“加入顯示器”設置中)、一個 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 設置中的選項)。