如何强制 Chrome 使用集成 GPU 进行解码?

如何强制 Chrome 使用集成 GPU 进行解码?

我希望 Chrome 利用 iGPU(i7-8700k 上的 GT630)进行视频解码,尤其是 YouTube 上的 VP9 解码。我的独立 GPU 是 GTX970,无法解码 VP9。目前,VP9 在我的系统上是软件解码的,这给 CPU 带来负担,偶尔会跳帧。

系统 (Windows 10) 检测到两个 GPU:GT630 作为 GPU0,GTX970 作为 GPU1。我使用 2 个屏幕。我不在乎它们需要连接到哪里(970 或主板),只要 Chrome 使用 iGPU 并且我可以继续使用 Nvidia 进行游戏即可。其中一个屏幕是 144Hz。主板是华硕 ROG Hero。

我尝试过不同的设置,但似乎没有什么能按预期工作,通常人们会寻找完全相反的问题的解决方案......

更新(命令开关):

使用--gpu-active-vendor-id=0x8086 --gpu-active-device-id=0x3E92--gpu-vendor-id=0x8086 --gpu-device-id=0x3E92或运行 chrome--gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x3E92会导致:

GPU0 供应商 = 0x10de,设备 = 0x13c2积极的
GPU1 供应商 = 0x8086,设备 = 0x3e92
GL_RENDERER ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)`

Vivaldi 浏览器似乎接受,--gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x3E92其结果是:

GPU0 供应商 = 0x8086,设备 = 0x3e92积极的
GL_RENDERER ANGLE(NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)`

但是它仍然使用 Nvidia 作为渲染器并且不使用 GT630 igfx。

目前唯一有效的方法是在设备管理器中禁用 Nvidia 卡,启动 Chrome,然后重新启用 Nvidia 卡。当启动 Chrome 时,如果系统中没有独立显卡,它会以以下配置运行,并且它是唯一使用 GT630 硬件解码的浏览器:

GPU0 供应商 = 0x8086,设备 = 0x3e92积极的
GPU1 供应商 = 0x10de,设备 = 0x13c2
GL_RENDERER ANGLE(英特尔 (R) UHD 显卡 630 Direct3D11 vs_5_0 ps_5_0)

答案1

我遇到这个问题已经有几个月了,昨天我找到了解决问题的方法:

显示设置 -> 图形设置 -> 选择一个应用程序来设置首选项:经典应用程序 -> 浏览 -> Firefox.exe(对于您来说)火狐(浏览按钮下方出现的按钮)-> 选项。然后我选择节能这使得我的浏览器使用 iGPU。高性能会让浏览器使用我的专用 GPU。

截屏:在此处输入图片描述

答案2

如果您希望自动执行禁用 Nvidia 适配器、启动 Chrome 并重新启用适配器的任务,您可以使用批处理脚本(.bat 文件),并将其作为图标放在桌面上。

使用 Microsoft 命令行工具 开发控制台

devcon.exe disable "NVIDIA GeForce GTX 970"
start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
timeout 5
devcon.exe enable "NVIDIA GeForce GTX 970"

检查设备管理器,显示适配器部分,上述适配器的名称是否正确。

可以代替 Devcon 的其他实用程序包括 开发者视图多显示器工具

答案3

花了几个小时寻找使用 Windows 10 2018 年 10 月更新的解决方案。截至目前,使用 Unrul3r 提供的说明,我已经能够成功在由 iGPU 驱动的 Chrome 中启用硬件 VP9 解码。

(截图链接)设置如下:

AMD Radeon R9-290 dGPU -> 通过 DisplayPort 连接到 3840x2160 (4K) 主显示器。

配备 UHD 630 iGPU 的 Intel Core i5-8400 -> 通过主板 HDMI 连接到 1920x1080 辅助显示器。

(截图链接)这是您想要在 chrome://gpu 中看到的内容,以验证一切是否正常:

现在,这里是关于如何使其正常工作的快速演练。

设置要求

  • 主监视器和辅监视器
  • 至少有一台显示器必须物理连接到主板上的 iGPU 输出
  • 将主显示器和其他显示器连接到你的 dGPU

一步步

  1. 进入 BIOS 并确保 iGPU 设置为“已启用“(不是“自动”)。检查确保您的 dGPU 仍设置为第一个启用。保存并重新启动。
  2. 启动 Windows。由于 iGPU 现已启用并正在使用,因此它应该会自动下载并安装英特尔驱动程序。我个人从英特尔获取了 UHD 630 的完整驱动程序包并手动安装。
    1. iGPU 驱动程序安装完成后重新启动。
    2. 返回 Windows 后,打开显示设置如果您的设置发生了变化,请调整多个显示设置和定位。
    3. 在“显示设置”窗口底部附近,点击图形设置. 将下拉菜单保留在经典应用程序,然后点击浏览并找到您想要强制到 iGPU 的程序的可执行文件。
    4. 添加后,点击新列表,选择选项,然后选择节能始终强制 iGPU 处理该应用程序的渲染。

(屏幕截图链接)您应该在图形设置完成后的窗口:

好了,我们开始测试吧!这是 Unigine Superposition 基准测试的 8K YouTube 视频现在显示 CPU 使用率约为 2-3%,丢帧率小于 1%(视觉上非常流畅,没有卡顿)。相比之下,如果没有硬件解码器,CPU 使用率将达到上限,结果是画面混乱,丢帧率超过 50%,无法观看。

答案4

目前没有与 Nvidia Optimus(除已停产的 Lucid Virtu)相同的桌面版本,无法实现动态 GPU 切换。为了在 Chrome 中使用 Intel IGP 进行硬件加速,您必须将显示器连接到 Intel 端口并将其设置为主显示屏在设置中(同时允许使用 Nvidia 进行附加显示)。

然而,如果你的目标是同时在一个屏幕上用 Nvidia 玩游戏,在另一个屏幕上用 Intel 播放 YouTube,那你就没那么幸运了,因为游戏也是从主显示屏(现在由英特尔渲染)。

如果你一次只用一台显示器执行一项操作,请尝试将其连接到 Intel 和 Nvidia,然后切换主显示屏和面板输入源作为解决方法。

相关内容