正常运行,所有 Chrome 进程都具有正常优先级。各个线程代表各个标签页、扩展程序等。
但是,然后我以高 CPU 优先级启动了 chrome。我正在使用:
cmd.exe /c start "" /high "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
然后,一些线程以高优先级运行,一些线程以正常优先级运行,其他线程以低优先级运行。
为什么?
是否可以让所有 chrome 子线程以高优先级运行?
也许我可以通过在单进程模式下运行 chrome 来实现它,但这并不理想。
Windows 10
Chrome 73.0.3683.103(官方版本)(64 位)
答案1
这是部分解决方案。根据我的测试,它似乎可以防止任何 chrome 进程进入“低”优先级,尽管它不会阻止“正常”优先级。
使用 --disable-renderer-backgrounding
chrome 启动开关。
https://peter.sh/experiments/chromium-command-line-switches/#disable-renderer-backgrounding
start "" /High "chrome.exe" --disable-renderer-backgrounding
我发现通过此切换,Chrome 的性能立即得到改善。我相信它允许非活动标签以正常优先级加载,而不是获得低优先级。我没有注意到对活动标签有任何负面影响。
答案2
我希望将所有线程设置为低优先级,而不是线程启动者想要的高优先级,这样它们的 CPU 使用率就不会干扰我的游戏,也不会使我的游戏微卡顿并导致键盘输入延迟。例如,我在玩游戏时收听 YouTube 视频或在后台运行某些程序,并且只希望我的游戏具有高优先级的 CPU 使用率。
我如何选择 google chrome.exe 或 steam.exe 的所有实例(及其大约 10 个 steamhelper.exe 实例)或其他线程,并通过单击鼠标将它们设置为低优先级?之后,我将仅将我的游戏设置为高或实时 CPU 使用率。
在 Process Explorer 中执行此操作时,只有部分子线程被设置为低优先级,我想知道为什么不将所有子线程都设置为低优先级?