打开多个桌面和窗口时的 X11 视频内存要求

打开多个桌面和窗口时的 X11 视频内存要求

我在单个 4k 显示器上运行 i3 窗口管理器。但是,我有 12 个桌面,可能还打开了 50 个窗口。最近我注意到缩放视频有时非常滞后,而且切换桌面后需要一秒钟才能重新绘制屏幕内容。

我正在运行带有 nvidia-470 驱动程序、内核 5-11、ubuntu 20.4、X11(不是 wayland)的 nvidia gt1030 gpu。 Nvidida-smi 报告总共使用了 2G 显存中的大约 1.8G,其中大部分由 X11 使用。

nvidia-smi 使用 1.1G 报告 X:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 35%   43C    P0    N/A /  30W |   1770MiB /  1985MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                           
+-----------------------------------------------------------------------------+
| Processes:                                                                        |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1195      G   /usr/lib/xorg/Xorg                101MiB |
|    0   N/A  N/A      2156      G   /usr/lib/xorg/Xorg               1110MiB |
|    0   N/A  N/A      3283      G   ...AAAAAAAAA= --shared-files       54MiB |
|    0   N/A  N/A      3559      G   ...AAAAAAAAA= --shared-files       36MiB |
|    0   N/A  N/A      3960      G   ...AAAAAAAAA= --shared-files       98MiB |
|    0   N/A  N/A   1355789      G   ...AAAAAAAAA= --shared-files      123MiB |
|    0   N/A  N/A   1396950      G   /usr/lib/firefox/firefox          204MiB |
|    0   N/A  N/A   1397047      G   /usr/lib/firefox/firefox            0MiB |
|    0   N/A  N/A   1397098      G   /usr/lib/firefox/firefox            0MiB |
|    0   N/A  N/A   1397130      G   /usr/lib/firefox/firefox            0MiB |
+-----------------------------------------------------------------------------+

这在某种程度上得到了证实xrestop:报告的内存使用率最高的进程xrestop

xrestop - Display: localhost
          Monitoring 54 clients. XErrors: 0
          Pixmaps: 1102671K total, Other:     156K total, All: 1102827K total

res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier    
0600000    83  161    1   78  696   796246K     23K 796269K   ?   i3
5200000    58   95    2   26  330    82590K     13K  82603K  9496 emacs
0200000     1    1    0    9  484    74992K     11K  75003K  2203 xcompmgr
5a00000    10   34    1  756  776    47929K     20K  47950K 84159 geeqie
1200000    27    2    1   24  142    47115K      5K  47120K  2304 Terminal
0000000     1    0    2    0  216    32400K      7K  32407K   ?   i3
...

所以看起来窗口管理器是这里最大的罪魁祸首,而其他常见的内存消耗者(尤其是火狐)只在停止但根据数据,它有自己的 200MB英伟达-SMI

简单来说,如果使用 32 位未压缩存储,4k 屏幕大约为 8M 像素或 32MB 内存。因此,30-40 个未压缩的屏幕图像可能达到 1GB。

任何人都可以告诉我高视频内存使用率是否会导致视频速度变慢(在缩放中,而不是在 YouTube 中)?有办法降低吗没有关闭窗口和桌面?

答案1

现代显卡上的 X 视频驱动程序通过纹理使用 GPU,而这又需要视频内存。 Windows 还使用视频内存作为后备缓冲区。

所以,是的,潜在的低视频内存可能会导致滞后,尽管人们必须调查这是否是您的情况的真正原因。

而且测试很容易:暂时重新配置桌面数量,打开更少的窗口,检查内存使用情况,看看问题是否仍然存在。

相关内容