Быстрее в разы? Adobe Premiere Pro научился по-новому задействовать GPU видеокарт

 | 07.00

Adobe Premiere Pro 14.2 с аппаратным кодированием GPU видеокарты

Недавно компания Adobe выпустила очень важное обновление свое популярного видеоредактора Adobe Premiere Pro.

Помимо некоторых улучшений и нововведений, начиная с версии Premiere Pro 14.2, наконец-то, стала доступна возможность задействования графического процессора видеокарты (GPU) для кодирования (Encoding) видео при экспорте в финальный файл.

Почему наконец-то?

Дело в том, что многие другие распространенные видеоредакторы уже давно умеют использовать GPU для кодирования и было очень странно, что мощное сверхпопулярное приложение Premiere Pro было лишено данной функции.

Теоретически это позволяет существенно, иногда в разы, уменьшить время обработки, что, конечно же, очень важно.

Разве Adobe Premiere Pro не умел задействовать GPU видеокарты и ранее?

Adobe Premiere Pro уже далеко не первый год умеет задействовать вычислительные мощности GPU видеокарт при видеоредактировании.

Что было ранее…

Активация настройки Mercury Playback Engine (GPU Accelerated), которая доступна довольно давно, позволяет «перевести» на плечи видеоядер расчеты различных эффектов перехода между кадрами, масштабирования, подрезки, электронной стабилизации, изменения контрастности, цветовой коррекции, шумоподавления, увеличения резкости, размытие и многие другие.

Эффекты, которые могут обрабатываться GPU даже отмечены специальным значком в приложении.

Adobe Premiere Pro 14.2 с аппаратным кодированием GPU
Эффекты, поддерживающие работку графическим процессором видеокарты, имеют специальную маркировку

Еще Mercury Playback Engine (GPU Accelerated) улучшает плавность и скорость отображения в окне препросмотра, что существенно добавляет комфорт в процессе работы с приложением.

Что теперь…

Дополнительно к вышеуказанным функциям, видеокарту сейчас можно задействовать еще и при экспорте видео (File — Export — Media) в финальный файл для кодирования Encoding (видео).

 

Тут сделаем некоторое уточнение. На самом деле экспорт (кодирование) с GPU был доступен в Premiere Pro и ранее. Но поддерживались только встроенные в процессоры Intel (современные модели) графические адаптеры с поддержкой Intel Quick Sync.

А в обновлении 14.2 функция стала доступна и для видеоадаптеров NVIDIA, AMD.

В итоге графический процессор, с одной стороны, участвует в рендеринге кадров, применении различных видеоэффектов, а затем еще и помогает кодировать это в финальный файл.

Включаем поддержку GPU в Adobe Premiere Pro

Для начала убедитесь, что выбран Mercury Playback Engine (GPU Accelerated) в настройках проекта (находится тут: File — Project setting — General).

Adobe Premiere Pro включение Mercury Playback Engine (GPU Accelerated)

Теперь видеокарта сможет помогать при рендеринге и применении различных видеоэффектов.

Перейдем к новым функциям, появившимся в Adobe Premiere Pro 14.2.

Активируйте аппаратное ускорение для кодирования (encoding) и декодирования (находится тут: Edit — Preferences — Media).

Adobe Premiere Pro включение аппаратного кодирования и декодирования

Когда вы сделаете необходимый видеомонтаж, в настройках экспорта видео в финальный файл (File — Export — Media) необходимо выбрать формат кодека H.264 или HEVC (H.265).

Adobe Premiere Pro выбор H.264 при экспорте

После этого у вас будет возможность выбрать Hardware encoding для аппаратного кодирования видео с использованием видеокарты.

Adobe Premiere Pro выбор аппаратного кодирования видеокартой

Точного списка совместимых моделей GPU видеокарт на момент подготовки статьи обнаружить не удалось.

Но, предположительно, в случае с NVIDIA поддержка кодирования при экспорте будет доступна на видеокартах от GTX 1050 и выше (должны содержать соответствующий блок кодирования NVENC).

С AMD похоже, что функция будет работать на современных профессиональных видеоадаптерах, а что касается игровых серий AMD Radeon RX 500 и RX 5000, то тут ответить затрудняемся.

Да, и еще… Настройки Mercury Playback Engine (GPU Accelerated) и аппаратного кодирования при экспорте не связаны между собой.

Протестируем

Какой же выигрыш по скорости дает задействование GPU при кодировании на практике?

Конфигурация тестовой платформы:

 

  • Процессор: AMD Ryzen 7 2700 (зафиксировали частоту 3700 МГц для всех ядер)
  • Материнская плата: ASUS ROG Strix X470-F Gaming
  • Видеокарта: MSI GeForce GTX 1070 AERO 8G OC
  • Оперативная память: 2×8 ГБ DDR4 (Kingston HyperX FURY DDR4 RGB HX432C16FB3AK2/16)
  • Операционная система: Windows 10 Pro 64 бит

На нашей системе при обычном кодировании ролика 4K с кадровой скоростью 60 кадр./с без применения каких-либо эффектов активация аппаратного кодирования (Hardware) позволила снизить время получения файла практически в три раза (в 2,9 раза, если быть точнее).

Adobe Premiere Pro, GPU против CPU при кодировании

Примерно одинаковые результаты получились с нашими настройками и при использовании кодека H.264, и при HEVC (H.265).

Да, результат действительно шикарный. Разница очень приличная.

Мы решили немного поэкспериментировать и посмотреть, как измениться ситуация, если, к примеру, изменить «баланс сил» между процессором и видеокартой.

Для имитации установки более слабого CPU у нашего 8-ядерного (8 ядер, 16 потоков) AMD Radeon 7 2700 мы отключили половину ядер и превратили его в 4-ядерный (4 ядра, 8 потоков).

К слову, в обеих конфигурациях была зафиксирована частота для всех ядер CPU на уровне 3700 МГц.

Adobe Premiere Pro, GPU против CPU при кодировании

Использование более слабого CPU привело к росту времени обработки и одновременному увеличению разрыва до 3,5 раз между результатами с задействованием GPU (Hardware-кодирование) и без (Software-кодирование).

А что если проект чуть приблизить к реальности и «усложнить» его добавлением различных эффектов цветокоррекции, шарпенинга и т. д.

Adobe Premiere Pro, GPU против CPU при кодировании
Кодирование проекта с применением ряда дополнительных эффектов

Выигрыш от задействования GPU по-прежнему есть, но не такой большой как ранее. В еще более сложных проектах разница может быть еще меньше.

Обратите еще внимание на разницу в загрузках CPU и GPU.

Процессор (CPU) загружен почти на 100%, при этом GPU показывает сравнительно низкие 14% загрузки (было бы около ноля, если отключить Mercury Playback Engine (GPU Accelerated)).

Adobe Premiere Pro, загрузка GPU и CPU в диспетчере задач

Как можно догадаться, аппаратное кодирование видеокартой не используется.

После активации Hardware-кодирования загрузка GPU вырастает до 36% , а процессора падает с практически максимума до 54%.

Adobe Premiere Pro, загрузка GPU и CPU в диспетчере задач

Резюмируем

Adobe Premiere Pro наконец-то обзавелась той функцией, которая была доступна во многих других популярных видеоредакторах.

Более глубокое использование вычислительных мощностей видеокарты действительно способно повысить эффективность работы и сэкономить время.

Насколько большой выигрыш по времени можно получить от использования GPU при кодировании в Premiere Pro сильно зависит от конфигурации системы и особенностей монтируемого проекта.

evo
evo
Инженер тестовой лаборатории