Продолжаем тестировать плагин ускорения Cinegy TurboCut в версии программы Adobe Premiere Pro 2020 (v14.2).
Теперь, проверим скорость работы Cinegy TurboCut со штатным ускорением Intel Quick Sync Video. В первую очередь интересует именно декодирование, так как кодирование было протестировано ранее, и Cinegy TurboCut тут проигрывает штатному NVENC ускорению, но в свою очередь быстрее штатного QSV (это справделиво для последних поколения чипсетов NVIDIA).
На рабочем столе, запускаем ярлык Turbocut for Adobe CC powered by Daniel. В окне TurboCut Configuration App, снимаем галку GPU Accelaration у AVC/HEVC Import. Тем самым мы отключаем аппаратное декодирование H.264 и HEVC видео на таймлайне, с помощью плагина Cinegy TurboCut.
Запускаем программу Adobe Premiere Pro 2020 (v14.2), и далее чистим Media Cache, нажав на кнопку: Delete... в закладке Кэш медиаданных (Media Cache).
Нажимаем на кнопку: ОК.
Активный декодер PF: YUV 420 MPEG4 Frame BiPlanar 8u 709 ImporterMPEG.
И работает аппаратное декодирование на интегрированнной видеокарте (iGPU):
Идём в Настройки экспорта (Export Settings) (Ctrl+M) и выбираем формат: H.264 и Preset: Match Source - High bitrate. Далее, в Видео > Параметры кодирования > Производительность: С аппаратным ускорением (Hardware Encoding). И нажимаем на кнопку: Экспорт (Export).
В Диспетчере Задач, декодированием занимается интегрированная видеокарта Intel Iris Pro Graphics 6200 (GT3e), а кодированием (Video Encode) 4K видео занимается дискретная видеокарта GIGABYTE GeForce GTX 1650 D6 WINDFORCE OC 4G (GV-N1656WF2OC-4GD). За декодирование отвечает технология Intel Quick Sync Video, а за кодирование - штатная функция Adobe Premiere Pro 2020 (v14.2).
Video Decode интеграшки загружено на 43%.
Утилита GPU-Z показывает загрузку Video Engine Load - 67%. При этом тактовая частота видеокарты GIGABYTE GeForce GTX 1650 D6 WINDFORCE OC 4G (GV-N1656WF2OC-4GD) составила 1935МГц.
Итоговое время рендеринга: 19 секунд. Результат проверялся несколько раз:
Ctrl+M и в настройках экспорта, выбираем формат: Cinegy H.264 и пресет: Custom. Настройки: VBR и битрейт: 10Мбит.
В Диспетчере Задач, загрузка у Video Encode (за который отвечает Cinegy TurboCut) 61%.
А у Video Decode (отвечает за неё интеграшка): 35%.
Утилита GPU-Z также показывает загрузку Video Engine Load - 61%. При этом тактовая частота видеокарты GIGABYTE GeForce GTX 1650 D6 WINDFORCE OC 4G (GV-N1656WF2OC-4GD) составила 1935МГц.
Итоговое время рендеринга: 26 секунд. Результат проверялся несколько раз:
Используем софтовое кодирование: Software Encoding с аппаратным декодированием видео (QSV).
Загрузка центрального процессора - 100%.
Декодирование с помощью Intel Iris Pro Graphics 6200 (GT3e), загрузка Video Decode - 7%.
CUDA ядра как всегда в Adobe Premiere Pro CC 2020 непонятно чем занимались.
GPU-Z загрузку загрузку (GPU Load) в 12% у iGPU.
Время рендеринга силами CPU: 118 секунд.
Экспорт с помощью интегрированной видеокарты, для переключения в этот режим, необходимо активировать опцию ExporterMPEG.Simulate_Bad_HW_Driver_For_Export.
Диспетчер задач Microsoft Windows 10 Enterprise 2019 LTSC при двух активных видеокартах, не показывает Video Encode у интеграшки, ориентируемся на график загрузки 3D - 98%. А Video Decode - 39%.
CUDA ядра снова были заняты на 18%.
Ниже будет отключен движок CUDA, чтобы посмотреть как это влияет на производительность. Ранее уже обсуждалось, что на бюджетных видеокартах, CUDA процессоры, "без видимой нагрузки", могли грузиться на 100% и тормозить работу системы:
Ранее, уже тестировалось, сколько прибавки даёт включение аппаратного декодирования. Протестируем ещё раз, идём в Изменить > Установки > Медиаконтент (Edit > Preferences > Media) и снимаем галку перед пунктом: Включить аппаратное кодирование и декодирование с ускорением (требуется перезапуск) (Enable hardware accelerated encoding and decoding (requires restart)).
Перезагружаем Adobe Premiere Pro CC 2020, можно ещё раз почистить медиа кэш.
Так как опция теперь отвечает и за кодирование и за декодирование: "encoding and decoding", то в Настройках экспорта получаем серое поле выбора способа кодирования:
Загрузка CPU - 100%, интеграшка имеет загрузку - 0%.
Декодирование делалось софтово (SW Frames Decompressed):
Итоговое время рендеринга уже: 150 секунд.
Теперь отключаем Mercury Playback Engine GPU Acceleration (CUDA) который всё время занимается ИБД.
И получаем даже улучшение результата рендеринга, пусть и незначительное: 148 секунд.
Итоговый график тестирования Cinegy TurboCut, сводных результатов. Время в секундах, чем меньше тем лучше. Расшифровка графика:
Software (CUDA) - софтовое декодирование и кодирование, с активным движком Mercury Playback Engine GPU Acceleration (CUDA).
Software (no CUDA) - софтовое декодирование и кодирование, с выключенным движком Mercury Playback Engine GPU Acceleration (CUDA).
Software (Cinegy) - декодирование с помощью TurboCut и софтовое кодирование.
Software (QSV) - декодирование с помощью QSV и софтовое кодирование.
GTX 660 (QSV + NVENC) - для сравнения добавлен результат видеокарты GeForce GTX 660, из этого тестирования. Декодирование с помощью iGPU, и штатное аппаратное кодирование с помощью NVENC. Пора апгредиться (поддержки Kepler) не будет в следующей версии.
Hardware (QSV + QSV) - декодирование и кодирование с помощью QSV.
GTX 1650 (Cinegy + QSV) - декодирование с помощью TurboCut, и штатное аппаратное кодирование с помощью QSV.
GTX 1650 (QSV + Cinegy) - декодирование с помощью iGPU, и аппаратное кодирование с помощью TurboCut.
GTX 1650 (Cinegy + Cinegy) - декодирование и кодирование с помощью TurboCut.
GTX 1650 (QSV + NVENC) - декодирование с помощью iGPU, и штатное аппаратное кодирование с помощью NVENC.
GTX 1650 (Cinegy + NVENC) - декодирование с помощью TurboCut, и штатное аппаратное кодирование с помощью NVENC.
Инженеры компании Adobe рекомендуют использовать следующую схему: декодированием занимается iGPU, а кодированием dGPU. Это утверждение не относится к плагину TurboCut, а подчёркивает важность разделения выполнения задач.
Как видно из простого тестирования (без использования GPU эффектов, даже штатных лёгких) при одновременной загрузке NVDEC и NVENC, видеокарта GIGABYTE GeForce GTX 1650 D6 WINDFORCE OC 4G (GV-N1656WF2OC-4GD) грузит GPU Load - 84% (при тактовой частоте 1920МГц), а Video Engine Load - 93%.
Поэтому может встать вопрос, разделения задач (просто снять галку CUDA напротив видеокарты в контрольной панели не получится, так как NVDEC/NVENC не будут работать), использования нескольких видеокарт и Multi-GPU. И интеграшка (или дискретка Intel) так как она OpenCL, то не будет конфликтовать с CUDA, и она ещё может пригодиться именно при тяжелом рендеринге. Также пока интеграшка Gen11 (Ice Lake) единственная (до выхода Gen12 Xe) может декодировать HEVC видео с цветовой выборкой 4:2:2.
Cinegy TurboCut может работать в режиме Multi-GPU, но только для кодека Daniel2, подробнее об этом читаем здесь.
Также, если внимательно посмотреть на графики, то можно заметить, что при работе CUDA (NVDEC/NVENC) загрузка четырёхъядерного процессора часто 100%. Т.е. "обслуживать" видеокарту должен центральный процессор (CPU), который не будет узким местом. Приблизительно таким же образом подбирается процессор для игр, применяется следующимй термин: "может ли данный процессор раскрыть видеокарту".
Версии драйверов: "игровые" или "профессиональные" никак не влияют именно на скорость работы.Они важны с точки зрения именно стабильности. Скорее всего в следующем релизе графических драйверов NVIDIA Studio Driver, будет упомянута оптимизация под программу Adobe Premiere Pro CC 2020 (v14.2), но это будет чистой воды маркетинг.
Читаем далее про ограничения Cinegy TurboCut.