为什么会想到修改垂直同步
在写OpenGL代码的时候发现帧率只有60fps左右,非常无语,我的RX470D怎么着也不可能才跑这么点,连特么核显都不如啊。想想一定是开了垂直同步。那就想辙关闭呗。
查找关闭的方法
由于用的是 SDL2 + OpenGL,首先想到的是 SDL2 中有没有相关的接口去关闭。
google了一下,果然有一个:
SDL_GL_SetSwapInterval(0);
然而事情肯定没这么简单。果然,运行程序依然60fps。
接着google如何关闭 AMD的垂直同步,找到方案1:
编辑 /usr/share/X11/xorg.conf.d/10-radeon.conf
Section "OutputClass"
Identifier "Radeon"
MatchDriver "radeon"
Driver "radeon"
EndSection
在其中加上如下:
Option "TearFree" "on"
尝试了一下,问题依然,甚至重启后桌面环境都起不来了。
继续google, 在AMD官网找到方案2:
Enabling/Disabling AMD FreeSync
In order to enable FreeSync, please run the following terminal command:
DISPLAY=:0 xrandr --output DisplayPort-# --set "freesy