我正在开发一个 Electron 应用程序,我正在尝试找出是否有一种方法(标志?)可以让你限制 GPU 进程系统内存的使用
在内容丰富的页面上,GPU 进程通常需要 500+ MB。
我想强制它设置为较低的值,或者以编程方式强制应用程序使用高性能(离散)GPU,这会将缓存从系统内存移动到 GPU 内存。
我尝试使用在此网站上找到的所有 GPU 相关标志运行应用程序,但没有任何效果:
--gpu-program-cache-size-kb=1000
--disable-accelerated-video-decode
禁用视频 GPU 解码会稍微减少 GPU 进程内存,但会增加 CPU 使用率--enable-gpu-memory-buffer-compositor-resources --enable-gpu-rasterization --ignore-gpu-blocklist --enable-zero-copy
chrome://gpu
中指定的 GPU#1 ID 运行应用程序也不会激活 GPU#1:--gpu-vendor-id=0x10da --gpu-device-id=0x1c8a
--force_high_performance_gpu
在 Windows 上似乎没有任何作用。混合显卡(NVIDIA Optimus、AMD 可切换显卡)是早期技术之一(就可用性而言),尽管它已经推出很久了。
从技术上讲,这同样适用于一般的视频卡。它们不应该由每个应用程序控制。只有特定的软件(操作系统、驱动程序、一些游戏和图形工具)负责管理它们。
这些天一切都在改变。机器学习和其他基本任务可以在 GPU 上相对轻松地完成。我们甚至为此提供了一些公共工具。但它仍然很困难且不标准化。
在不同的软件中控制GPU的尝试有很多。您已经尝试了很多标志。而且其中大多数已经过时了。 甚至有一段时间,Chrom(ium) 和 Firefox 在 Nvidia 的驱动程序中被禁止。即没有合法的方式将它们一起使用。
Windows 很久以前就控制了 GPU。因此,驱动程序和应用程序都不负责决定使用什么硬件。而chromium似乎已经不太关心这个控制了。他们甚至无法通过硬件加速解决白屏问题。
Linux 发行商的处境更糟。驱动程序甚至没有完全发挥作用。 Canonical 与 NVidia 合作开发了 NVidia Prime 来控制混合显卡。还有许多其他非官方解决方案。
我只是想说,最好避免尝试控制 GPU,直到它非常关键。情况可能会改变很多次。
尽管如此,最好的方法是在启动应用程序之前在 Windows 中注册您的应用程序以获得更高的性能。我不知道 Windows 是否提供了除 GUI 之外的特殊工具。但您始终可以尝试通过路径中的
Regedit
注册应用程序:Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences
。
或者您可以将应用程序可执行文件重命名为著名的名称,这样 Windows 就会优先考虑它,而无需额外的设置。例如
chrome.exe
-> doomx64.exe
。
你好,我也遇到同样的问题,请问你解决了吗
我 1 年前的 GPU 使用率很高的情况类似。 我立即想到了过时的 GPU 驱动程序和病毒,但肯定什么也没有。在网上找到了这个话题: https://www.wintips.org/fix-chrome-gpu-process-high-memory-usage/
我在设置中关闭了硬件加速。这似乎有效,但一周后问题又出现了。 就我个人而言,删除 chrome 的所有设置和缓存并重新安装最新版本就可以了。
但是这个主题可能会对您有所帮助。 希望它也适合你。