때로는 Linux 3D 가속이 실제로 작동하는지 ( glxinfo
출력 외에 ) 확인해야합니다 . 이는 glxgears
도구 로 빠르게 수행 할 수 있습니다 . 그러나 FPS는 종종 디스플레이 수직 재생률 (예 : 60fps)로 제한됩니다. 따라서 소프트웨어 렌더링조차도 최신 CPU에서 60FPS glxgears를 쉽게 생성 할 수 있기 때문에 도구는 다소 쓸모가 없게됩니다.
나는 이것에 대한 빠르고 쉬운 해결책을 얻는 것이 다소 어려웠다는 것을 알았고 내 질문에 답했습니다. 시간이 절약되기를 바랍니다.
답변
vblank_mode
환경 변수 트릭을 수행합니다. 그런 다음 최신 하드웨어에서 수백 FPS를 얻을 수 있습니다. 이제 결과를 다른 사람과 비교할 수 있습니다.
$> vblank_mode=0 glxgears
답변
NVIDIA 폐쇄 소스 드라이버를 사용하는 경우 다음을 사용하여 즉시 수직 동기화 모드를 변경할 수 있습니다. __GL_SYNC_TO_VBLANK
환경 변수를 .
~$ __GL_SYNC_TO_VBLANK=1 glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
299 frames in 5.0 seconds = 59.631 FPS
~$ __GL_SYNC_TO_VBLANK=0 glxgears
123259 frames in 5.0 seconds = 24651.678 FPS
이것은 346.46 NVIDIA 드라이버를 사용하는 Ubuntu 14.04에서 나를 위해 작동합니다.
답변
Intel 그래픽 및 AMD / ATI 오픈 소스 그래픽 드라이버 용
/etc/X11/xorg.conf
다음 지시문 중 하나가 포함 된 “장치”섹션을 찾으십시오 .
Driver "intel"
Driver "radeon"
Driver "fglrx"
해당 섹션에 다음 줄을 추가합니다.
Option "SwapbuffersWait" "false"
그리고 vblank_mode
환경 변수를 다음과 0
같이 설정 하여 애플리케이션을 실행하십시오 .
$ vblank_mode=0 glxgears
독점 Nvidia 드라이버가있는 Nvidia 그래픽의 경우
$ echo "0/SyncToVBlank=0" >> ~/.nvidia-settings-rc
nvidia-settings
에서 옵션을 선택 취소하여 GUI 에서 동일한 변경을 수행 할 수 있습니다 X Screen 0 / OpenGL Settings / Sync to VBlank
. 또는 ~/.nvidia-settings-rc
파일을 수정하지 않고 설정을 테스트하려면 다음과 같이 할 수 있습니다.
$ nvidia-settings --load-config-only --assign="SyncToVBlank=0" # disable vertical sync
$ glxgears # test it out
$ nvidia-settings --load-config-only # restore your original vertical sync setting
답변
다른 답변을 모두 모아서 작동하는 명령 줄은 다음과 같습니다.
env vblank_mode=0 __GL_SYNC_TO_VBLANK=0 glxgears
이는 Mesa 및 NVidia 드라이버 모두에서 작동하는 이점이 있으며 구성 파일을 변경할 필요가 없습니다.
답변
nvidia-settings (OpenGL 설정 탭)에서 VBlank에 동기화 확인란을 비활성화하면 트릭이됩니다.
답변
Bumblebee를 사용하여 인텔 카드와 nvidia 카드에서 작동하는 솔루션을 찾았습니다.
> export vblank_mode = 0
glxgears
…
optirun glxgears
…
export vblank_mode = 1
답변
인텔 드라이버의 경우이 방법도 있습니다.
수직 동기화 (VSYNC) 비활성화
인텔 드라이버는 수직 동기화를 위해 트리플 버퍼링을 사용하므로 전체 성능을 허용하고 찢어짐을 방지합니다. 수직 동기화를 끄려면 (예 : 벤치마킹을 위해) 홈 디렉토리에서 다음 .drirc를 사용하십시오.
<device screen="0" driver="dri2">
<application name="Default">
<option name="vblank_mode" value="0"/>
</application>
</device>