我想将辅助显示器的刷新率降低到非常小的水平,这样我的 GPU 就不必做太多的工作了。但是在默认的“显示”设置中,没有选项可以更改我的第二台显示器的刷新率。它似乎固定在 60 Hz。
如何将第二台显示器的刷新率限制为仅,例如每秒 10 帧?...释放我的 GPU 上的一些资源。
这是我的显示设置:
的输出xrandr
是
Screen 0: minimum 8 x 8, current 3440 x 2520, maximum 16384 x 16384
DVI-I-0 connected 1920x1080+854+1440 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 59.94
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 3440x1440+0+0 (normal left inverted right x axis y axis) 819mm x 346mm
3440x1440 59.97 + 99.98*
3840x2160 59.94 50.00 29.97 25.00 23.98
2560x1080 100.00 59.94
1920x1080 100.00 60.00 59.94 50.00 29.97 25.00 23.98 60.00 50.04
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
如此处所述,您可以使用
cvt
和xrandr
更改显示器的刷新率。但在您的情况下,参数cvt
必须是3840x2160 24
限制第二台显示器的刷新率,同时保持其分辨率。但 :
显示器刷新率与 GPU 利用率无关。事实上,显示器正在读取帧缓冲区,例如,对于60Hz显示器,帧缓冲区每秒读取 60 次,无论您的 GPU 是以 240fps 的速度渲染还是完全空闲。至于我知道监视器用来读取帧缓冲区的方法称为直接内存访问,它甚至不需要 CPU 周期来执行 I/O 操作。
如果您想降低 GPU 的负载,您可以:
通过上述方法限制第二台显示器的分辨率,但这有点荒谬,因为您无法充分利用显示器的潜力
将需要更高渲染的窗口(例如游戏和视频播放器,但不是文件管理器的实体窗口,甚至只是实体壁纸)移动到分辨率较低的显示器。
禁用一些可能使用 GPU 的扩展和功能
nvidia-smi
通过ornvidia-settings
(即您发布的屏幕截图所属的程序)查看哪些进程对您的 GPU 施加了高压,并通过cputool限制它们的CPU使用率,如下所示(您必须先安装软件包):cputool
限制 CPU 使用量也限制了进程在单位时间内发出的OpenGL调用,因此它也可以限制 GPU 使用量。我不知道任何
nvidia-smi
可以直接限制 GPU 使用量的工具(甚至)(如果有人知道,我很高兴听到)。没有程序在 GPU 中开始执行。所有程序都从 CPU 开始,然后通过OpenGL、CUDA或OpenCL等调用 GPU 的驱动程序。所以我认为限制 CPU 使用率是合理的。
请注意,
maximum_cpu_usage
在上面的命令中,16 线程 CPU 是从0
一直到1600
. 这是该系统上的一个进程可以使用的最大 CPU 量(如果它有 16 个执行线程)。例如,将
KWin
窗口管理器限制在我的系统中时,在整个屏幕上非常快速地移动终端窗口时10
,GPU 使用率从近32%减少到15%左右。但是当您移动窗口时,它可能会导致一些故障。TODO:如果有人知道如何限制 Gnome-shell 或类似 DE 的帧速率,我很高兴听到。
希望能帮助到你。