Одной из ключевой характеристикой архитектуры NVIDIA Turing, является новое поколение NVENC кодера. Давайте на практике проверим, различие этого аппаратного блока у двух архитектур: Pascal и Turing.
Первой протестируем видеокарту Palit PA-GTX1060 Super Jetstream 6G, которая построена на чипсете NVIDIA GeForce GTX 1060 (Pascal).
Информация о видеокарте которую показывает утилита GPUSniffer, запущенная из приложения Adobe Premiere Pro CC 2019.
Экспортировать будем таймлайн с UHD (3840x2160p30) H.264 Long-GOP видео с квадрокоптера DJI Phantom 4.
Отправляем эпизод на экспорт (Ctrl+M) и в Настройках экспорта, выбираем Формат: Voukoder R2.
Переключаемся на закладку Voukoder и нажимаем там на кнопку Configure... Которая работает, только если есть выход в интернет. Видимо, автор утилиты уже готовится к её коммерческому использованию.
В закладке General выбираем: Encoders > Video encoder > NVENC h.264.
В закладке About смотрим версию программы:
В закладке Video > Editor, оставляем настройки по-умолчанию.
В закладке Audio > Editor, также оставляем настройки по-умолчанию.
В закладке Voukoder теперь отображаются выбранные параметры.
Нажимаем на кнопку: Export, и видим высокую загрузку CPU (видимо центральный процессор занимается декодированием видео, позже мы проверим как это влияет на итоговый результат).
Загрузка видеокарты Palit GeForce GTX 1060 Super JetStream (PA-GTX1060 Super Jetstream 6G), а именно блока отвечающего за NVENC: Video Engine Load до 22%. Тактовая частота GPU (GeForce GTX 1060) - 2012МГц.
Итоговое время рендеринга: 53 секунды.
Характеристики видео полученные после рендеринга, отображаемые утилитой Media Info:
Теперь в закладке General выбираем: Encoders > Video encoder > NVENC hevc.
В закладке Video > Editor, оставляем настройки по-умолчанию.
В закладке Voukoder теперь отображаются новые выбранные параметры.
Загрузка четырёхъядерного процессора Intel Core i5-5675C: 93%.
Загрузка видеокарты Palit GeForce GTX 1060 Super JetStream (PA-GTX1060 Super Jetstream 6G), а именно блока отвечающего за NVENC: Video Engine Load - 39%. Тактовая частота GPU доходила до 2ГГц.
Итоговое время рендеринга: 55 секунд.
Характеристики видео полученные после рендеринга, отображаемые утилитой Media Info:
Второй подопытный: видеокарта Palit GeForce GTX 1660 Ti StormX OC (NE6166TS18J9-161F) построенная на чипсете NVIDIA GeForce GTX 1660 Ti.
Как эту видеокарту видит программа Adobe Premiere Pro CC 2019:
Voukoder также видит, что дело имеет с видеокартой на чипсете GeForce GTX 1660 Ti.
При выборе Encoders > Video encoder > NVENC h.264, загрузка центрального процессора: 94%.
Ядро видеокарты Palit GeForce GTX 1660 Ti StormX OC работало на тактовой частоте 1.5ГГц, Video Engine Load - 39%. Потребление: 37.2Вт.
Итоговое время рендеринга: 55 секунд.
Характеристики видео полученные после рендеринга, отображаемые утилитой Media Info:
При выборе Encoders > Video encoder > NVENC hevc, загрузка центрального процессора уже 98%. Т.е. скорость кодирования упирается в скорость декодирования.
Ядро видеокарты Palit GeForce GTX 1660 Ti StormX OC работало на Boost частоте 1920МГц, Video Engine Load - 52%. Потребление: 46Вт.
Итоговое время рендеринга для H.264 и HEVC оказалось одинаковым: 55 секунд.
Характеристики видео полученные после рендеринга, отображаемые утилитой Media Info:
Какие предварительные выводы, по итогам первого тестирования Voukoder R2? На очень маленьком битрейте разницы в скорости нет, ни при кодировании в H.264, ни в HEVC.
Можно было написать про оптимизацию, но кадры выхваченные из видео говорят сами за себя. H.264: Pascal и Turing. HEVC: Pascal и Turing.
Как компания NVIDIA и рекламировала, качество для кодека H.264 для низких битрейтов выросло и равно качеству кодека x264.
*На GitHub появился NVIDIA-патч, который устраняет ограничение на максимальное количество одновременных потоков кодирования видео с помощью NVENC, наложенное компанией Nvidia для графических процессоров потребительского класса.
Адрес, где можно скачать патч:
https://github.com/keylase/nvidia-patch/tree/master/win
Патч доступен для операционной системы Windows 10 x64 и подходит для следующих версий драйверов: GeForce 417.35, GeForce 417.58, GeForce 417.71, GeForce 418.81, GeForce 418.91, GeForce 419.17, GeForce 419.35, Quadro 412.16, Quadro 412.29, Quadro 416.78, Quadro 418.81, Quadro 419.17.
Этот патч навсегда удаляет ограничение только для сеансов CUDA NVENC в 64-битных приложениях. Но как только лимит использования был превышен, он сохраняется для всех видов приложений до перезагрузки системы. Так, например, вы можете сразу открыть 10 сессий с 64-битной версией ffmpeg и лимит будет повышен до 10 для всех остальных типов приложений до перезагрузки. Вы можете выполнить эти шаги, чтобы достичь этого автоматически и снять все ограничения (при условии, что патч выше уже применяется). По умолчанию этот патч позволяет вызвать до 32 сеансов кодирования.
Читаем вторую часть.