При включении высокого качества изображения (Высокое качество воспроизведения) у нас "3D конвейер" графического адаптера грузится на 100% и начинаются пропуски кадров и тормоза (что за работу он там делает, разберем позже). Соответственно, наша задача снять эту работу с интегрированной графики, и повесить на дискретку, например: NVIDIA GeForce GT 1030.
Устанавливаем последние драйвера 391.35-desktop-win10-64bit-international-whql.exe скачанные с официального сайта:
Интегрированная графика: Intel UHD Graphics 630 (Coffee Lake GT2), при этом станет недоступной (если монитор подключен к дискретной графике) и не будет отображаться в Диспетчере устройств.
Также утилита GPU-Z не установила галку перед OpenCL и показывает шину: PCIe 2.0 x4. Поэтому проверяем в BIOS системной платы, в какой слот установлена видеокарта.
При выбранном движке: Только программное ускорение ядра Mercury Playback / Mercury Playback Engine Software Only, запускаем воспроизведение UHD H.264 Long GOP видео (PF: VUYX 4444 8u 709 ImporterMPEG) и сразу получаем пропуски кадров:
При выставленном качестве: Высокое качество воспроизведения (High Quality Playback) и полном разрешении, nVidia GeForce GT 1030 работает на 3D частоте (1695 МГц) с пиками загрузки до 98%, хотя выбран софтовый движок (он влияет только на ускорение эффектов).
Диспетчер задач показывает загрузку графичеcкого процессора. Загрузка 3D = 69%, а загрузка Video Decode = 0%. Общая загрузка центрального процессора 83% (он собственно и занимается декодированием).
Работает только софтовое декодирование видео (SW Frames Decompressed):
В настройках проекта выбираем: Аппаратное GPU-ускорение ядра Mercury Playback (CUDA).
CUDA Render System, PF: YUV 420 MPEG4 Frame 8u 709 ImporterMPEG (вместо VUYX 4444 8u 709 ImporterMPEG) и пропуски кадров, почти 50%.
Дискретная графика: nVidia GeForce GT 1030 работала на 1683 МГц и была загружена на 100% при воспроизведении таймлайна. Утилизировано 582 Мб бортовой видеопамяти, и контроллер памяти (Memory Controller Load) загружен на 75% (против 8% когда был выбран режим Только программное ускорение ядра Mercury Playback).
Диспетчер задач показывает загрузку графичеcкого процессора: 3D = 22%, Copy = 29%, Compute_0 = 29%, а загрузка Video Decode = 0%. Общая загрузка центрального процессора 100% (занят декодированием).
Теперь подключаем монитор к интегрированной графике Intel UHD Graphics 630 и нам будут доступны оба адаптера. У nVidia GeForce GT 1030 появится галка перед пунтом OpenCL и шина будет показана как PCIe 3.0 x4.
В Диспетчере задач также отображаются две видеокарты:
Информация отображаемая утилитой GPUSniffer:
В настройках проекта теперь доступно три варианта движка Mercury Playback:
Запускаем воспроизведение таймлайна и получаем небольшой процент пропущенных кадров в CUDA Render System с высоким качеством воспроизведения (High).
Загрузка адаптеров, Intel UHD Graphics 630 - 78% (при рабочей частоте 550 МГц), а nVidia GeForce GT 1030 (при рабочей частоте 1657 МГц) - 97%.
В Диспетчере задач (для интегрированной графики Intel UHD Graphics 630) смотрим загрузку 3D = 76%, а загрузка Video Decode = 24%.
В Диспетчере задач (для дискретной графики nVidia GeForce GT 1030) смотрим загрузку Copy = 91%, Compute_0 = 90%, а загрузка 3D/Video Decode = 0%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 24.2%, утилизировано оперативной памяти процессом: 7.95Гбайт.
Работает аппаратное декодирование видео (HW Frames Decompressed):
GF.SisableAcceleratedDisplay > true.
Получаем третий вариант движка: GPU Mercury Playback. И третий вариант PF: VUYA 4444 8u 709 ImporterMPEG (ранее: VUYX 4444 8u 709 ImporterMPEG и YUV 420 MPEG4 Frame 8u 709 ImporterMPEG). Никаких пропусков кадров, но картинка по качеству отличается, хоть и выставлено качество: High.
Загрузка адаптеров, Intel UHD Graphics 630 - 71% (при рабочей частоте 650 МГц), а nVidia GeForce GT 1030 (при рабочей частоте 1695 МГц) - 75%.
В Диспетчере задач (для интегрированной графики Intel UHD Graphics 630) смотрим загрузку 3D = 70%, а загрузка Video Decode = 19%.
В Диспетчере задач (для дискретной графики nVidia GeForce GT 1030) смотрим загрузку Copy = 57%, Compute_0 = 37%, а загрузка 3D/Video Decode = 0%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 24.2%, утилизировано оперативной памяти процессом: 7.95Гбайт.
Но наша задача: подключить монитор к дискретной графике, чтобы она отвечала за OpenGL ускорение (и если дискретная карта одна, то и за OpenCL/CUDA, а интегрированная видеокарта отвечала за декодирование видео). В поисковой системе обычно это запрос: "Как включить Intel Quick Sync в Windows 10".
Поэтому подключаем монитор к дискретной графике, идем в BIOS материнской платы ASUS PRIME Z370-A (удерживаем Delete или F2 при загрузке).
Переходим: Дополнительно > Конфигурация System Agent > Параметры Графики и выбираем Основной дисплей: PCIE.
Дополнительно > Конфигурация System Agent > Параметры Графики и выбираем Инициализация iGPU: Включено. Это необходимо для активации интегрированной и дискретной видеокарт одновременно. Размер общей памяти iGPU будет установлен в 64 Мбайт.
Сохраняем внесенные изменения: Save & Exit (F10).
Утилита GPUSniffer нам показывает, что дискретная видеокарта nVidia GeForce GT 1030, теперь главная и отвечает за OpenGL ускорение и обслуживание интерфейса.
*В BIOS материнских плат MSI:
Settings > Advanced > Integrated Graphics Configuration > Initiate Graphic Adapter > (Settings > Дополнительно > Конфигурация встроенной графики > Инициация графического адаптера >)
Здесь выбираем основное загрузочное устройство, вместо [IGD] Integrated Graphics Display, выбираем [PEG] PCI-Express Graphics Device.
Integrated Graphics Share Memory (Разделение памяти встроенной графики), выбираем максимальный размер: [1024M].
*Для материнских плат MSI построенных на чипсетах Intel Z370 Express и Intel Z390 Express. В BIOS идём Settings > Advanced > Integrated Graphics Configuration и выбираем:
IGD Multi-Monitor > Enabled и Initiate Graphic Adapter > PEG.
Save configuration and exit? Yes.
Было:
Стало:
*Для материнских плат ASRock построенных на чипсетах Intel Z370 Express и Intel Z390 Express. В BIOS идём Advanced > Chipset Configuration, и выбираем: Primary Graphics Adapter > PCI Express и IGPU Multi-Monitor > Enabled.
При включенном: Высокое качество воспроизведения и CUDA Render System, получаем плавное воспроизведение и отсутствие пропущеных кадров:
Загрузка адаптеров, Intel UHD Graphics 630 - 63% (при рабочей частоте 550 МГц), а nVidia GeForce GT 1030 (при рабочей частоте 1670 МГц) с пиками до 99%.
В Диспетчере задач (для интегрированной графики Intel UHD Graphics 630) смотрим загрузку 3D = 66%, а загрузка Video Decode = 24%.
В Диспетчере задач (для дискретной графики nVidia GeForce GT 1030) смотрим загрузку 3D = 30%, Compute_0 = 90%, а загрузка Copy/Video Decode = 0%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 12.5%, утилизировано оперативной памяти процессом: 7.8Гбайт.
Работает аппаратное декодирование видео (HW Frames Decompressed):
Frames dropped during playback: 0/10617.
Все это уже было разобрано в этом видеоролике: "nVidia GeForce GTX 1060 vs Intel HD Graphics 530".
Метки: adobe premiere 2018 проблема с cuda, совместная работа интегрированной и дискретной видеокарт, IGPU Multi-Monitor, Primary Graphics Adapter.