Как заставить Chrome использовать встроенный графический процессор для декодирования?

5676
Gepard

Я хочу, чтобы Chrome использовал iGPU (GT630 на i7-8700k) для декодирования видео, особенно для декодирования VP9 на YouTube. Мой дискретный графический процессор - GTX970, и он не способен декодировать VP9. В настоящее время VP9 программно декодируется в моей системе, загружая процессор и время от времени пропуская кадры.

Оба графических процессора определяются системой (Windows 10): GT630 как GPU0 и GTX970 как GPU1. Я использую 2 экрана. Мне все равно, где они должны быть подключены (970 или материнская плата), пока Chrome использует iGPU, и я могу продолжать использовать Nvidia для игр. Один из экранов 144 Гц. Материнская плата ASUS ROG Hero.

Я пробовал разные настройки, но, похоже, ничего не работает, как задумано, и обычно люди ищут решение совершенно противоположной проблемы ...

Обновление (команда переключателей):

Запуск Chrome с --gpu-active-vendor-id=0x8086 --gpu-active-device-id=0x3E92или --gpu-vendor-id=0x8086 --gpu-device-id=0x3E92или --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x3E92приводит к:

GPU0 VENDOR = 0x10de, DEVICE = 0x13c2 ACTIVE
GPU1 VENDOR = 0x8086, DEVICE = 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 VENDOR = 0x8086, DEVICE = 0x3e92 ACTIVE
GL_RENDERER ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0) `

Однако он все еще использует Nvidia для рендерера и не использует GT630 igfx.

Единственный способ, который работает до сих пор, это отключение карты Nvidia в диспетчере устройств, запуск Chrome и повторное включение карты Nvidia. Когда Chrome запускается без дискретной карты, присутствующей в системе, он работает со следующей конфигурацией и единственной, которая использует HW-декодирование из GT630:

GPU0 VENDOR = 0x8086, DEVICE = 0x3e92 ACTIVE
GPU1 VENDOR = 0x10de, DEVICE = 0x13c2
GL_RENDERER ANGLE (Intel (R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)

4
Еще один парень с той же проблемой [здесь] (https://www.reddit.com/r/intel/comments/8bmg75/). guest-vm 6 лет назад 0
Не могли бы вы попробовать это тоже? закройте chrome и перезапустите его с помощью `chrome --gpu-active-vendor-id = 0x8086 --gpu-active-device-id = 0x3E92`. перейдите к `about: gpu`, активный графический процессор сейчас другой? guest-vm 6 лет назад 0
Я бы попробовал `--gpu-vendor-id = 0x8086 --gpu-device-id = 0x3E92`. harrymc 6 лет назад 0
@ guest-vm Я пробовал переключатели команд, результаты в OP. Gepard 6 лет назад 0
@ guest-vm На самом деле команда переключается, если в качестве основного дисплея выбран экран, подключенный к igfx. Gepard 6 лет назад 1
Когда я снова включаю dGPU, Chrome продолжает использовать iGPU для декодирования видео, что я могу подтвердить в диспетчере задач. Gepard 6 лет назад 1
Вы пробовали команду chrome w / o, когда экран, подключенный к igfx, был установлен в качестве основного дисплея? Я на самом деле не ожидал, что команда сработает, или я бы включил ее в качестве ответа. Я подозреваю, что команда сработала, потому что основной дисплей подключен к Intel, а не к Nvidia, т.е. Chrome использует любой графический процессор, к которому подключен основной дисплей. Это удивительно, если команда не работает, когда основной дисплей подключен к Nvidia, но работает при подключении к Intel. guest-vm 6 лет назад 0

5 ответов на вопрос

1
guest-vm

В Nvidia Optimus (без поддержки Lucid Virtu, которая больше не выпускается) нет аналога для настольных компьютеров, который позволяет динамически переключаться между графическими процессорами. Чтобы использовать Intel IGP для аппаратного ускорения в Chrome, необходимо подключить монитор к порту Intel и установить его в качестве основного дисплея в настройках (при этом добавляя дополнительные дисплеи с Nvidia).

Однако, если ваша цель состоит в том, чтобы одновременно играть на одном экране с Nvidia и играть на YouTube на другом экране с Intel, вам не повезло, так как игры также запускаются с основного дисплея (теперь воспроизводимого Intel).

Если вы работаете только с одним монитором за раз, попробуйте подключить его к Intel и Nvidia, и в качестве обходного пути переключите источник входного сигнала основного дисплея и панели.

Отказ от ответственности: это обоснованное предположение. Я приветствую любые споры, подкрепленные доказательствами, например. У Linux нет такого ограничения, как указано [здесь] (https://superuser.com/q/1284970/). guest-vm 6 лет назад 0
На самом деле я обнаружил, что могу заставить Chrome использовать igfx в качестве средства визуализации, если временно отключу Nvidia в диспетчере устройств. После повторного включения Chrome продолжает использовать igfx, и в то же время я могу использовать Nvidia для игр. Gepard 6 лет назад 0
1
harrymc

Если вы хотите автоматизировать задачу отключения адаптера Nvidia, запуска Chrome и повторного включения адаптера, вы можете использовать пакетный сценарий (файл .bat), который вы можете поместить на рабочий стол в виде значка.

Использование инструмента командной строки Microsoft Devcon.exe :

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, являются DevManView и MultiMonitorTool .

1
Odair Augusto Trujillo Orozco

Простое решение, которое предлагает Unrul3r, вам просто нужно перейти в Графические настройки на панели управления Windows 10 и добавить Google Chrome или Firefox в режиме приложения Classic, а затем нажать кнопку выбора, выбрать Высокая производительность и все. Запустите некоторый тест WebGL, и вы увидите веб-браузер, использующий GPU-1 или номер вашего дискретного GPU. Работает для любых других приложений, таких как Word, Excel и т. Д.

Еще один вариант повышения производительности в Google Chrome и, в частности, при воспроизведении видео (например, Youtube), заключается в использовании страницы конфигурации флагов, чтобы установить для визуализации графического процессора значение Включить, см. Рисунок:

Настройка флагов Google Chrome

Как вы можете видеть на следующем изображении, мой дискретный графический процессор представляет собой графический процессор AMD Radeon R7.

GPU-1 как Radeon R7

Описание на испанском языке: активация на GPU по собственному усмотрению в Google Chrome (ATI Radeon), активация для воспроизведения аппаратного обеспечения на Youtube.

0
Unrul3r

У меня была эта проблема в течение нескольких месяцев, и вчера я нашел решение проблемы:

Настройки дисплея -> Настройки графики -> Выберите приложение для установки предпочтений: Классическое приложение -> Обзор -> Firefox.exe (Chrome в вашем случае) -> Firefox (кнопка, которая появляется под кнопкой обзора) -> Параметры . Затем я выбрал « Энергосбережение», благодаря чему мой браузер использует iGPU. Высокая производительность заставит браузер использовать мой выделенный графический процессор.

Скриншот:enter image description here

Конечно, вы идете: i5 6600k, R9 280x. Почему это имеет значение? Эти варианты не отображаются для вас? Unrul3r 6 лет назад 0
Я думал, что эта новая функция работает только для ноутбука. С твоим мнением посмотри как я не прав. guest-vm 6 лет назад 0
Они из последнего обновления Windows 10 апреля. Unrul3r 6 лет назад 0
0
rcarter04

Потратил несколько часов на поиск рабочего решения для этого с обновлением Windows 10 октября 2018 года. На данный момент, используя указания Unrul3r, я смог успешно включить аппаратное декодирование VP9 в Chrome на базе iGPU.

(Ссылка на скриншот) Настройка выглядит следующим образом:

AMD Radeon R9-290 dGPU -> Подключен через DisplayPort к основному монитору 3840x2160 (4K).

Intel Core i5-8400 с UHD 630 iGPU -> Подключен через материнскую плату HDMI к дополнительному монитору 1920x1080.

(Ссылка на скриншот) Это то, что вы хотите увидеть в chrome: // gpu, чтобы убедиться, что все работает:

Теперь, краткий обзор того, как заставить это работать правильно.

Требования к настройке

  • Основной и дополнительный монитор
  • По крайней мере, один монитор должен быть физически подключен к выходам iGPU на материнской плате
  • Подключите основной монитор и любые другие к вашему dGPU

Шаг за шагом

  1. Войдите в BIOS и убедитесь, что для iGPU установлено значение « Включено » ( не «Авто»). Убедитесь, что ваш dGPU все еще установлен как первый включенный. Сохраните и перезапустите.
  2. Загрузиться в Windows. Он должен автоматически загружать и устанавливать драйверы Intel для iGPU, поскольку он теперь включен и используется. Лично я взял полный пакет драйверов для своего UHD 630 от Intel и установил его вручную.
    1. Перезагрузите компьютер после установки драйверов iGPU.
    2. Вернувшись в Windows, откройте « Параметры дисплея» и настройте параметры и расположение нескольких дисплеев, если ваши настройки изменились.
    3. В нижней части окна «Настройки дисплея» нажмите « Настройки графики» . Оставьте раскрывающийся список в приложении Classic, затем нажмите кнопку « Обзор» и найдите исполняемый файл для программы, которую вы хотите принудительно установить в iGPU.
    4. После добавления щелкните новый список, выберите « Параметры», затем выберите « Энергосбережение», чтобы заставить iGPU всегда обрабатывать рендеринг для этого приложения.

(Ссылка на скриншот) Что вы должны увидеть в окне настроек графики, когда закончите:

И там мы идем! Тестирование с этим 8K-видео YouTube с тестом Unigine Superposition теперь показывает ~ 2-3% использования процессора и <1% пропущенных кадров (абсолютно гладко, без заиканий). По сравнению с аппаратным декодером загрузка ЦП будет ограничена, и в результате получится бесполезный беспорядок с пропуском> 50% кадров.

Похожие вопросы