저는 두 개의 모니터("Join Display" 설정), NVIDIA 1070 GTX 모바일 GPU, OpenGL 4.6 기반 GNOME 3을 가지고 있습니다.
노트북에 내장된 모니터의 재생률은 최대 120.02Hz로 설정되어 있으며, 두 번째 모니터(VGA를 통한)의 재생률은 최대 59.88Hz로 설정되어 있습니다.
두 번째 모니터가 연결되지 않은 경우 glxgears
20,000FPS가 보고됩니다. 하지만 두 번째 모니터를 연결하고 glxgears
내장 모니터에서 실행 하면 glxgears
마치 인텔 통합 GPU를 사용하는 것처럼 프레임 속도가 60FPS로 고정됩니다.
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 설정의 옵션)를 사용할 수도 있습니다 .