Аппаратное кодирование

Продолжаем цикл статей о тестировании новой возможности аппаратного кодирования с помощью NVENC, которая добавлена в версии программы Adobe Premiere Pro 2020 (v14.2).
Из новостей: количество одновременно поддерживаемых потоков кодирования регулируется драйверами (это ограничение также можно софтово обойти), и компания NVIDIA в версии драйвера GeForce Game Ready 446.14 WHQL для игровых видеокарт серии GeForce увеличила лимит с двух до трёх потоков. Количество потоков привязано к объёму бортовой памяти, посмотреть их количество можно здесь.


NVIDIA GeForce RTX 3080 NVENC

Компания NVIDIA на официальном блоге выдала следующую информацию: С последним выпуском Adobe Premiere Pro, создатели могут получить новые расширенные функции NVIDIA GPU, которые помогают им доставлять высококачественный контент быстрее, чем когда-либо.
С новой Premiere Pro 14.2, создатели видео получают огромную экономию времени с новым GPU-ускоренным кодированием. Компании Adobe и NVIDIA оптимизировали Premiere Pro для использования встроенного аппаратного кодера NVIDIA на графических процессорах NVIDIA Quadro и GeForce.
Результаты просто ошеломляют. Редакторы теперь могут экспортировать видео с высоким разрешением до 5 раз быстрее, чем с помощью одного процессора с помощью популярных кодеков H.264 или H.265 (HEVC). Меньшее время экспорта означает больше времени для редактирования содержимого и более быстрый рабочий процесс при потоковой работе.
"Мне часто требуется экспортировать несколько версий моих видео. Иногда, чтобы представить на утверждение, но в основном я просто предпочитаю ошибку проверить в окончательном рендере, а не воспроизводить таймлайн", - сказал YouTuber Gerald Undone . "С интеграцией NVENC в Premiere Pro я могу сделать этот шаг за треть времени, что должно приравниваться к десяткам часов, сэкономленных к концу года".
А благодаря усовершенствованиям в кодере на наших последних графических процессорах NVIDIA GeForce и Quadro RTX качество и эффективность кодирования не имеют себе равных.
Например, музыкальное видео имеет длину три минуты и девять секунд. При традиционном программном кодировании с использованием процессора Core i9-9750H (нет такого процессора, есть процессор Intel Core i7-9750H) для ноутбука требуется 3:48 для экспорта. При использовании аппаратного кодера NVIDIA на графическом процессоре GeForce RTX 2060 Max-Q, экспорт завершается в одной пятой времени - всего за 47 секунд.


Adobe Premiere Pro 2020 v14.2 NVENC

В дополнение к Premiere Pro, аппаратный кодировщик NVIDIA ускоряет экспорт видео в Adobe Media Encoder, After Effects и Audition.

"С NVENC наш рабочий процесс значительно улучшился", - сказал оператор Армандо Феррейра . "Мы можем воспроизводить более высокие разрешения в режиме реального времени в нашей временной шкале и экспортировать до 40 процентов быстрее".
*Непонятно как этот чел смог "воспроизводить более высокие разрешения в режиме реального времени" с помощью NVENC. Для этого нужен плагин Cinegy TurboCut, штатной возможности аппаратного декодирования видео с помощью NVDEC нет.
Кодирование видео присоединяется к растущему списку функций Premiere Pro, улучшенных графическими процессорами NVIDIA, включая ускоренные видеоэффекты с использованием CUDA и автоматический рефрейминг с GPU-ускоренным AI.
"Эти улучшения являются результатом многолетнего сотрудничества между NVIDIA и Adobe для предоставления высококачественных приложений и инструментов для создателей",-сказал Маниш Кулкарни, старший инженерный менеджер Adobe. "Благодаря новой поддержке графических процессоров NVIDIA на Windows, экспорт ускоряется аппаратным путем, используя мощность GPU, чтобы сделать Premiere Pro более мощным и сохранить создателей видео продуктивными и ловкими".
Также в новом выпуске есть поддержка Apple ProRes RAW как в Premiere Pro, так и в After Effects. Впервые видеоредакторы и художники графики движения могут импортировать и редактировать файлы ProRes RAW в Windows без необходимости перекодирования. Это ускоряется CUDA, доступным исключительно на графических процессорах NVIDIA.
*Аппаратное декодирование ProRes RAW работает только на CUDA движке, поддержка видеокарт построенных на чипсетах от AMD, будет добавлена позже.

...........................

Тестирование скорости кодирования видеокарт AMD и NVIDIA в Adobe Premiere Pro 2020 (v14.2) от сайта Techgage. В тестировании участвовала 21 видеокарта, из всех ценовых диапазонов. Список видеокарт участвовавших в тестировании: AMD Radeon VII (16GB, Adrenaline 20.4.1), AMD Radeon RX 5700 XT (8GB, Adrenaline 20.4.1), AMD Radeon RX 5600 XT (6GB, Adrenaline 20.4.1), AMD Radeon RX 5500 XT (8GB, Adrenaline 20.4.1), AMD Radeon RX Vega 64 (8GB, Adrenaline 20.4.1), AMD Radeon RX 590 (8GB, Adrenaline 20.4.1), AMD Radeon Pro W5700 (8GB, Enterprise 20.Q1.1), AMD Radeon Pro W5500 (8GB, Enterprise 20.Q1.1), AMD Radeon Pro WX 9100 (16GB, Enterprise 20.Q1.1), AMD Radeon Pro WX 7100 (8GB, Enterprise 20.Q1.1), AMD Radeon Pro WX 4100 (8GB, Enterprise 20.Q1.1), NVIDIA TITAN RTX (24GB, Studio 442.92), NVIDIA GeForce RTX 2080 Ti (11GB, Studio 442.92), NVIDIA GeForce RTX 2080 SUPER (8GB, Studio 442.92), NVIDIA GeForce RTX 2070 SUPER (8GB, Studio 442.92), NVIDIA GeForce RTX 2060 SUPER (8GB, Studio 442.92), NVIDIA GeForce RTX 2060 (8GB, Studio 442.92), NVIDIA GeForce GTX 1660 Ti (8GB, Studio 442.92), NVIDIA Quadro RTX 6000 (24GB, Quadro 442.92), NVIDIA Quadro RTX 4000 (8GB, Quadro 442.92) и NVIDIA Quadro P2200 (5GB, Quadro 442.92).
Тестирование проводилось на кодировании в форматы AVC и HEVC из источников AVC, RED и ProRes.
18-ядерный процессор Intel Core i9-10980XE (3.4GHz) и 32ГБ оперативной памяти G.SKILL FlareX (F4-3200C14-8GFX), DDR4-3200 14-14-14. Т.е. получаем менее 1ГБ оперативки на поток, т.е. "голод памяти". Но, к такому тестированию уже стоит привыкнуть.
Оперативная система: Microsoft Windows 10 Pro build 18363 (1909).
Был сделан специальный тест, который использует четыре разных конфигурации кодирования, но используя одно и то же оборудование.
На вкладке Media настроек программы в любом Adobe Premiere Pro CC 2020 или Media Encoder CC 2020 есть опция: Включить аппаратное кодирование и декодирование с ускорением (требуется перезапуск) (Enable hardware accelerated encoding and decoding (requires restart)), которая включает аппаратное ускорение кодирования и декодирования, и если она включена, графический процессор будет использоваться для обеих задач.
*Это касается только форматов H.264 и HEVC, и декодирование используется только на iGPU, в данном тесте использовался HEDT процессор без интеграшки.
Но, автор статьи в доказательство приводит следующий скрин:


Аппаратное кодирование

Помимо всего прочего, это интересный набор результатов, которые мы видим между проектами 1080p и 4K при использовании кодирования с помощью CPU – их сильные стороны эффективно флип-флоп (даже после повторных тестов). В конечном счете, это действительно не имеет значения, потому что ясно, что вы, вероятно, увидите свою лучшую производительность с GPU, обрабатывающим основную часть декодирования и кодирования. Если вы считаете, что CPU является лучшим кодированием, то вам нужно отключить аппаратное кодирование в настройках, но сохранить Mercury Playback Engine заблокированным для его опции ускорения GPU. Использование программного кодирования также обеспечивает большую детализацию в параметрах, которые вы можете использовать, поскольку такие параметры, как двухпроходное кодирование (*и интерлейс), не могут использоваться с кодерами GPU.
*Ещё один автор не может разобраться с аппаратным декодированием, это прямо какой-то бич, вот об этом писал на Яндекс Дзен.
Adobe Premiere Pro 14.2 Performance - 1080p YouTube AVC Encode:


Аппаратное кодирование

По графику выше, можно сказать, что Techgage как всегда показывает "странные" результаты. Выводится YouTube проект, где нагрузка упирается в производительность CUDA, и видеокарта Nvidia GeForce GTX 1660 Ti (5.5Тфлопс и 288ГБ/с), умудрилась проиграть Nvidia GeForce RTX 2060 (6.5Тфлопс и 336ГБ/с), аж 30%.
А вот при выводе 4K YouTube проекта разница между этими видеокартами достигает всего 2%.
Adobe Premiere Pro 14.2 Performance - 4K YouTube AVC Encode:


Аппаратное кодирование

Проекты, используемые для тестирования, размещены на нашем канале YouTube. Источник 1080p/60 AVC снят видеокамерой Panasonic, в то время как 4K/60 в основном сняты на смартфон. Оба довольно стандартные проекты, без интенсивного использования эффектов, но мы исследуем расширение нашего тестирования, чтобы лучше отразить это использование
*Если бы проекты были без эффектов, то и результаты были бы совсем другие, близкие друг к другу. Что-то тут с методикой не того... скорее всего были также исходники RED и ProRes, как и было заявлено в самом начале.
Чем больше вы смотрите на эти результаты, тем больше нужно узнать. Сразу видно, что обновление 14.2 принесло пользу подавляющему большинству карт в этой коллекции, хотя было и несколько исключений. Если вы видите результат, который кажется немного странным, вы можете быть уверены, что это тот, который мы повторно протестировали, потому что мы не можем переварить быть неуверенными в наших результатах теста.
В конце концов, старые Radeon Pro WX 7100 и WX 4100 на самом деле показали худшие результаты в последней версии Adobe Premiere Pro CC, в обоих тестах. Между тем, остальные Radeon пользовались некоторым преимуществом, но в целом, NVIDIA работает шустрее, чем AMD.
Adobe Premiere Pro 14.2 Performance - 4K60 AVC to AVC Encode:


Аппаратное кодирование

Adobe Premiere Pro 14.2 Performance - 4K60 AVC to HEVC Encode:

Аппаратное кодирование

С нашим источником кодирования AVC (60 секунд 120 Мбит/с), мы, кажется, попали в узкое место производительности с AVC, но кодирование HEVC улучшает масштабирование немного по всем видеокартам. Общие цифры скромны, учитывая длину клипа и не слишком впечатляют, но в то же время, приятно видеть, что большинство карт отработали гораздо лучше, чем в режиме реального времени в обоих разрешениях.
В то время как графические процессоры NVIDIA, в частности, по производительностью находятся в топе, все эти видеокарты получили очевидные выгоды от простого перехода к последней версии Premiere Pro CC.
Со стороны AMD, есть несколько моделей, которым удалось показать улучшение результатов, но большинство из них показывают наоборот небольшое снижение производительности.
*Как на одной платформе, но с разными топовыми видеокартами, на простом проекте в 14.0.4 можно получить 108 секунд (RTX 2080 SUPER и GTX 1660 Ti) и 95 секунд (RTX 2070 SUPER)? Скорее всего проекты выводились через Adobe Media Encoder CC 2020, который не стабилен в плане результатов. Отсюда и такой винегрет итоговых результатов.
Adobe Premiere Pro 14.2 Performance - 8K24 RED to AVC Encode:


Аппаратное кодирование

Adobe Premiere Pro 14.2 Performance - 8K24 RED to HEVC Encode:

Аппаратное кодирование

Первый тест, это кодирование AVC из RED (8:1, 22 секунды, 1367 Мбит/с). Нет разницы между версиями, кроме результата WX 7100.
При экспорте HEVC, уже есть разница между версиями, 4.0.4 оказалась лучше для видеокарт: GeForce RTX 2060 и Quadro RTX 4000. Эти два результата, которые мы быстро проверили на вменяемость, только чтобы увидеть, что данное масштабирование сохранилось.
Adobe Premiere Pro 14.2 Performance - 8K24 ProRes 422 to AVC Encode:


Аппаратное кодирование

Adobe Premiere Pro 14.2 Performance - 8K24 ProRes 422 to HEVC Encode:

Аппаратное кодирование

В завершении тестирования, кодирование в AVC источника Apple ProRes 422 (22 секунды, 2788 Мбит/с) не показывает никакого реального улучшения между последней и текущей версиями Adpbe Premiere Pro CC 2020, но еще раз, результат HEVC показывает некоторое заметное улучшение. Мы упоминали ранее, что один или два результата производительности кодека будут только рисовать частичную картину общего масштабирования производительности, и окончательный график здесь подчеркивает, почему.
В этом тесте ProRes to HEVC, как видеокарта Quadro P2200, так и GeForce GTX 1660 Ti увидели огромные успехи между версиями, и мы вынуждены еще раз заверить вас, что повторное тестирование было проведено, и все эти цифры твердо держались. Мы не совсем уверены, почему эти графические процессоры, в частности, видели такие массивные повышения, особенно потому, что они оба используют разные чипы кодировщика. В любом случае, это приятно видеть. То же самое относится и к профессиональной видеокарте WX 4100 которая уверенно все тесты просидела в на самом дне.
Выводы от Techgage: чтобы наилучшим образом воспользоваться улучшениями кодирования GPU в Premiere Pro и Media Encoder 14.2, лучше всего иметь официально поддерживаемую графическую карту.
Если вы являетесь пользователем Premiere Pro или Media Encoder, это почти наверняка хорошая идея, чтобы обновить софт и наслаждаться некоторым повышением производительности. Конечно, мы были бы неосторожны, чтобы игнорировать некоторые регрессии, которые мы видели с некоторыми моделями, построенных на бюджетных GPU.
Как упоминалось ранее, мы планируем расширить наше тестирование Premiere Pro с течением времени, а также планируем в конечном итоге переместить все наши тесты на накопители NVMe вместо SATA, а затем, возможно, расширить и сделать их немного более сложными, в надежде увидеть более интересное масштабирование. До тех пор, предложения и другие мысли приветствуются, как всегда.
*Если честно давно такой каши, неверных выводов и утверждений встречать не доводилось. С одной стороны молодцы, что дают "странные" результаты, непреукрашивая "действительность". С другой вообще непонятно что они тестируют, откуда на ровном месте получают разницу в десятки %.
Плюс они используют фирменные шаблоны, где также активная опция Use Maximum Render Quality, это ещё один бич тестов. Хоть кто бы объяснил, зачем при тестах склинга силами GPU, они все её активируют. Толку от неё никакого нет, а вот повлиять на результат работы в худшую сторону она может, причём рандомно. Отсюда и "странные результаты" на некоторых позициях.

...........................

Ещё одно тестирование на этот раз от Puget Systems.
Никакого голода памяти, 64ГБ DDR4-2933 памяти для процессоров: Intel Core i9-10900K, Intel Core i5-10600K (тут память работала в режиме DDR4-2666), AMD Ryzen 9 3900X, и до кучи добавлен 32-ядерный AMD Ryzen Threadripper 3970X, где получаем 1ГБ памяти на ядро (чуть меньше, так как надо ещё выделить под нужды Windows).
Используемые видеокарты: NVIDIA GeForce RTX 2080 Ti 11GB, NVIDIA GeForce RTX 2070 SUPER 8GB, NVIDIA GeForce GTX 1660 Ti 6GB, AMD Radeon RX 5700 XT 8GB и AMD Radeon RX Vega 64 8GB.
Версия операционной системы: Windows 10 Pro 64-bit (Ver. 1909). Все последние драйверы, обновления ОС, BIOS и прошивки, примененные по состоянию на 1 июня 2020 года.
Насколько быстрее это новое аппаратное кодирование относительно программного, зависит от вашего системного оборудования, исходного носителя и параметров экспорта. Тем не менее, мы видели в среднем около двукратного улучшения времени экспорта, но в некоторых случаях это было более чем в 5 раз быстрее с минимальной разницей в качестве видео.
Введение. С запуском версии Premiere Pro 14.2, компания Adobe добавила поддержку аппаратного кодирования на основе графического процессора H.264/H.265 (HEVC), которая позволяет использовать специализированное оборудование, встроенное в графические процессоры NVIDIA и AMD, для повышения производительности экспорта при экспорте в форматы H.264 и H.265.
В предыдущих версиях Premiere Pro аппаратное кодирование также поддерживалось, но только через Intel Quick Sync Video.
Эта реализация работала довольно хорошо, но QuickSync доступен только в семействах потребительских и мобильных процессоров Intel. Это означало, что высокопроизводительные системы Intel с процессорами X-серии и все системы AMD - не имели возможности аппаратного кодирования. QuickSync по-прежнему поддерживается, если у вас нет совместимого графического процессора, но поддержка аппаратного кодирования на основе AMD и NVIDIA GPU не только позволит почти каждому иметь метод, позволяющий значительно повысить производительность при экспорте в H.264 и H.265, но также должен быть значительно быстрее, чем QuickSync.
Чтобы увидеть, насколько хорошо работает аппаратное кодирование на основе GPU, мы будем использовать четыре разных процессора в паре с пятью различными графическими процессорами от AMD и NVIDIA. Мы также включим кодирование программного обеспечения, чтобы действовать в качестве базовой линии для каждой платформы и Intel QuickSync на процессорах Intel 10-го поколения, что приводит к 26 различным конфигурациям оборудования, которые мы будем тестировать.
Обратите внимание, что для тестирования QuickSync нам пришлось вернуться к Premiere Pro 14.0.3, так как мы не смогли найти способ заставить аппаратное кодирование использовать QuickSync вместо GPU в Premiere Pro 14.2.
*Вот способ как его включить.
Для нашего тестирования мы использовали последовательности "Lumetri Color" из нашего PugetBench for Premiere Pro benchmark, который включает в себя 4K H.264 150Mbps 8bit, ProRes 422 и RED media, а также последовательность "4K Heavy GPU Effects", которая предназначена для создания большой нагрузки на графический процессор (GPU). Поскольку мы хотим узнать, есть ли разница между экспортом в H.264/H.265 и если параметры экспорта влияют на производительность, мы будем экспортировать со следующими настройками как в аппаратном, так и в программном режиме:
- H.264 40Mbps UHD (3840x2160).
- H.264 16 Мбит/с HD (1920x1080).
- H.264 8 Мбит/с HD (1920x1080).
- HEVC 40 Мбит/с UHD (3840x2160).
- HEVC 16 Мбит/с HD (1920x1080).
- HEVC 8 Мбит/с HD (1920x1080).
Это сочетание ЦП, GPU, исходных носителей и настроек экспорта приводит к более чем 600 точкам данных, которые должны дать нам отличное представление о том, как эта новая функция работает в различных ситуациях.
В то время как мы собираемся пройти наш анализ тестирования в следующем разделе, мы всегда хотели бы предоставить сырые результаты для тех, кто хочет углубиться в детали. Если существует определенный кодек или параметр экспорта, который вы обычно используете в своем рабочем процессе, изучение необработанных результатов для этой задачи будет гораздо более актуально, чем наш более общий анализ.


Аппаратное кодирование

Аппаратное кодирование

Аппаратное кодирование

Аппаратное кодирование

Когда мы начали наше тестирование, у нас была надежда, что результаты будут достаточно согласованы с аналогичными показателями производительности независимо от настроек исходного носителя и экспорта. К сожалению, это оказалось не так, и есть тонна нюансов, которые мы нашли в нашем тестировании.
Итак, пристегнитесь и приготовьтесь к большому количеству чтения, если вы хотите полностью понять, как эта новая функция работает с различными носителями, настройками экспорта, процессорами и графическими процессорами.


Аппаратное кодирование

Прежде чем мы действительно перейдём к нюансам, мы хотели бы взглянуть на общий средний и максимальный прирост производительности, который мы видели с каждым GPU по сравнению с софтовым кодированием (CPU).
Глядя на средний показатель по всем нашим тестам, результаты являются достойными с технологией Intel QuickSync, обеспечивающей увеличение производительности примерно на 20%, графические процессоры AMD обеспечивают увеличение производительности на 30-45%, а графические процессоры NVIDIA - от 40% до почти 100%.
Хотя увеличение производительности экспорта в 1,3-2 раза, но не стоит обольщатся, это действительно нечестный способ измерить аппаратное кодирование, поскольку он объединяет все результаты, включая те из ситуаций, которые далеки от идеала для аппаратного кодирования. Это включает в себя тесты с использованием мощного процессора AMD Threadripper 3970X (который имеет столько мощности, что даже программное кодирование довольно быстро), а также наши последовательности 4K RED и "4K Heavy GPU Effects", которые уже создают большую нагрузку на видеокарту поверх аппаратного кодирования.
Другой способ, которым мы можем посмотреть на результаты, - это максимальное увеличение производительности по сравнению с кодированием программного обеспечения из всех 600 точек данных. Когда мы делаем это, он действительно показывает потенциал аппаратного кодирования GPU с графическими процессорами AMD, доказывая увеличение производительности в 3-3,5 раза, а графические процессоры NVIDIA обеспечивают увеличение производительности в 3,5-5,5 раз!
Это, конечно, немного оптимистичный способ взглянуть на результаты, но если вы хотите знать, насколько быстрее аппаратное кодирование может быть, это должно дать вам хорошую идею. В целом, однако, большинство людей, скорее всего, будет испытывать что-то между средним и максимальным ростом производительности. Чтобы получить более четкое представление о нюансах этой технологии, мы должны погрузиться в результаты более подробно:


Аппаратное кодирование

Работа с носителями H.264 не может быть идеальной с точки зрения редактирования, но это, безусловно, самый распространенный кодек, используемый, так как это то, что большинство камер записывают изначально. Если мы отделяем результаты для каждой комбинации CPU/GPU при экспорте в "H.264 40Mbps UHD", мы получаем отличный взгляд на то, как производительность может измениться с различными комбинациями CPU и GPU.
Что интересно здесь, так это то, что производительность экспорта (мы сообщаем в FPS) на самом деле довольно последовательна на каждом процессоре. Существует, однако, большая разница в производительности между каждой из видеокарт. Если AMD Radeon RX 5700XT, Vega 64 и NVIDIA GTX 1660 Ti могли экспортировать примерно со скоростью 100 кадров в секунду, то NVIDIA RTX 2070S 8GB и RTX 2080 Ti могли экспортировать примерно на 30-50% быстрее.
Это означает, что если вы используете аналогичные параметры мультимедиа и экспорта, как этот тест, ваш процессор почти не будет влиять на то, как быстро вы можете экспортировать. Теперь это фактически один из лучших сценариев для аппаратного кодирования, которые мы нашли, поэтому, чтобы держать вещи в перспективе, давайте также рассмотрим один из худших случаев:


Аппаратное кодирование

Если вы часто работаете с RED футажами, аппаратное кодирование может определенно еще улучшить время экспорта, но мы обнаружили, что процессор часто был ограничивающим фактором.
*В Adobe Premiere Pro CC 2020 (v14.2) для формата REDCODE RAW (.R3D) реализовано только частичное GPU ускорение, а именно поддержка дебайеринга. А за операцию декомпрессии по прежнему отвечает центральный процессор (CPU).
Как вы можете видеть на диаграмме выше, производительность экспорта в значительной степени блокируется производительностью CPU, а не на GPU. Процессор Core i5-10600K упёрся в стену со скоростью около 55 кадров в секунду, Core i9-10900K около 95 кадров в секунду, а Ryzen 3900X около 110 кадров в секунду. Только процессор AMD Threadripper 3970X смог действительно показать разницу между различными графическими процессорами, и даже тогда, карты NVIDIA RTX были только на 10% быстрее, чем графические процессоры AMD Radeon.
Причина этого довольно проста: в определенный момент кодирование в формат H.264 просто перестает быть узким местом, а обработка .R3D кадров является ограничивающим фактором. Несмотря на то, что Premiere Pro использует графический процессор для дебайеринга RED кадров (что более мощные графические процессоры должны делать лучше), он все еще использует процессор для декодирования, что делает его очень зависимым от наличия мощного центрального процессора.
И даже если Premiere Pro реализует декодирование (декомпрессию) на основе GPU для RED кадров, если это что-то вроде того, что мы видели в DaVinci Resolve, и если у вас есть достаточно мощный CPU, лучше оставить декодирование (декомпрессию) на CPU, чтобы предотвратить превращение вашего GPU в узкое место и фактически ухудшить производительность.
Видеоредактор DaVinci Resolve позволяет сделать такой выбор в своих настройках:


дебайеринг и декомпрессия .R3D видео

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


Аппаратное кодирование

Аппаратное кодирование

Аппаратное кодирование

Аппаратное кодирование

Аппаратное кодирование

В этих графиках происходит очень много событий, но вот некоторые из наших наблюдений после просмотра данных в течение нескольких часов:
1) прирост производительности по сравнению с кодированием программного обеспечения в целом примерно одинаков при экспорте как в H.264, так и в H.265, хотя H.265 по-прежнему часто занимает больше времени, поскольку это гораздо более сложный кодек для обработки.
*Многие источники отмечают, что тот же HEVC у Navi чипов работает быстрее, чем H.264.
2) самые большие увеличение производительности, получено при кодировании исходников 4K в 4K H.264/H.265 40 Мбит/с. Вероятно, это связано с тем, что видеокарта не отвлекается на даунскалинг, или это также может быть связано с более высоким битрейтом.
3) платформы Intel немного лучше подходят для кодирования исходных носителей H.264 в H.264 (и предположительно также для H.265 -> H.265), поскольку они имеют Intel QuickSync, который помогает ускорить декодирование исходного материала. Достаточно показательно, что на наших тестах с исходными носителями H.264, 6-ядерный процессор Intel Core i5-10600K часто был так же быстрый или быстрее, чем 32-ядерный процессор AMD Threadripper 3970X. Это означает, что если вы работаете с большим количеством носителей H.264/H.265 и хотите минимизировать время экспорта, вы должны придерживаться системы на базе Intel с QuickSync - по крайней мере, до тех пор, пока Adobe не добавит декодирование на основе GPU H.264/H.265.
*Или использовать сторонний плагин Cinegy TurboCut, но помнить, что и у него есть ограничения.
4) в целом, наибольший прирост производительности будет наблюдаться в системах с относительно маломощными процессорами по сравнению с их GPU. Он варьируется в зависимости от вашего исходного носителя и настроек экспорта, но там, где мы видели максимальное увеличение скорости экспорта в 5,5 раза с шестиядерным процессором Core i5-10600K, система с 32-ядерным процессором AMD Threadripper 3970X 32 Core system видела самое большее увеличение производительности только в 3 раза. Система Threadripper, безусловно, в целом намного быстрее экспортирует (за исключением исходного носителя H.264, как отмечалось в предыдущем пункте), но относительный прирост производительности не столь значителен.
5) Вы должны быть немного осторожны с использованием аппаратного кодирования, если вы используете много ускоренных эффектов GPU. В определенный момент вы собираетесь превратить ваш GPU в основное узкое место, что может привести к снижению производительности при использовании аппаратного кодирования, чем при использовании софтового кодирования. Вы должны учитывать этот момент.
Сравнение качества софтового и аппаратного кодирования с помощью GPU:
Для тех, кто не знает, есть проблема с аппаратным ускорением кодирования - качество технически немного хуже, чем у программного кодирования силами центрального процессора (CPU). Для некоторых людей разница в качестве настолько мала, что это не имеет значения, в то время как для других это является серьезной проблемой. По какую сторону забора вы находитесь, полностью зависит от вас и вашего рабочего процесса, поэтому мы не будем делать никаких твердых заявлений о том, приемлемо ли это или нет.
То, что мы сделаем, позволит вам загрузить образцы экспорта из нашего тестирования так что вы можете сделать сравнение сами. Конечно, нет никакой замены для прямого сравнения себя с вашими собственными проектами, так как все, начиная от вашего исходного носителя, настроек экспорта, до конкретных эффектов и переходов, используемых может повлиять на качество. Если вы загрузите наши образцы, то мы обнаружили, что самая большая разница в качестве проявляется на дорожном покрытии и надписи на боковой стороне фургона, когда он проезжает мимо. Кроме того, не забудьте сравнить качество как от NVIDIA, так и от AMD аппаратного кодирования клипов, так как оно немного отличается.
*Ссылка на скачивание полученных результатов от Puget Systems:
https://drive.google.com/file/d/1E80pg-6mRXdYwQGjUAkWQfwdJYL15Bns/view?usp=sharing
Для тех, кто не хочет загружать и изучать эти клипы, мы скажем, что разница в качестве кажется чрезвычайно маленькой в наших тестовых случаях. Экспорт с более низким битрейтом показывает больше разницы, чем с более высоким битрейтом, но в большинстве случаев трудно решить, что лучше в слепом тесте, если вы не увеличиваете масштаб. Единственная область, где мы заметили разницу, была на асфальтированной поверхности дороги, которая имеет тонну мелких деталей, которые могут быть потеряны при более низких скоростях передачи данных с аппаратным кодированием. Фото кликабельно.



сравнение качества кодирования


Одна вещь, чтобы иметь в виду, что наше тестирование было сделано с настройкой "VBR, 1 pass", так как аппаратное кодирование в настоящее время не поддерживает кодирование с двумя проходами. Если бы вы использовали кодировку 2 pass с программным кодированием, разница в качестве была бы немного более выраженной (хотя это также заняло бы значительно больше времени).
Насколько хорошо работает аппаратное кодирование?
В целом, новое аппаратное кодирование на основе графического процессора H.264/H.265 (HEVC) в Premiere Pro является очень впечатляющим и значительным улучшением по сравнению с использованием Intel QuickSync. В зависимости от вашего исходного носителя, настроек экспорта и мощности вашего процессора/графического процессора, прирост производительности может быть только в 1,5-2 раза больше производительности экспорта в среднем, но в некоторых случаях мы наблюдали до 5,5 раз улучшение времени экспорта.
С точки зрения качества, мы только заметили небольшую потерю очень мелких деталей на таких поверхностях, как дорожное покрытие. Эта небольшая разница в качестве может быть неприемлема для мастер-копий в зависимости от типа выполняемой работы, но она, скорее всего, будет полностью незаметна, если вы загрузите свои видео на YouTube или другие службы потокового видео.
Один большой аспект этой функции заключается в том, что поскольку графические процессоры (видеокарты) намного проще обновить, чем процессоры (которые обычно требуют по крайней мере новую материнскую плату, если не новую оперативную память), это дает пользователям Premiere Pro гораздо более простой путь обновления, если они хотят повысить производительность. На данный момент это может быть только для кодирования (экспорта), но мы должны представить, что в какой-то момент Adobe также сделает доступным декодирование H.264/H.265 с ускорением GPU.
В комментариях автора статьи попросили добавить более актуальные тесты, например с 10-бит H.265 4K 200 Мбит/с с камер X-T3 и X-T4. На что он ответил, что у него с такими исходниками были проблемы с декодированием, скорость была 8-10 fps. И если Adobe добавит декодирование H.264/H.265 на основе GPU (речь о дискретных видеокартах), то, скорее всего, он добавит H.265 в качестве тестового кодека.
Также был задан вопрос о Multi-GPU, на что автор ответил, что на данный момент кодирование ограничено одним графическим процессором, и я действительно не ожидаю, что это изменится в будущем.
*Кстати интересный момент, если одну видеокарту выделить для GPU ускорения эффектов, а вторую для GPU кодирования.

 
Рейтинг@Mail.ru