NVENC и ноутбуки

Как ускорить рендеринг на ноутбуке? Имеем на руках игровой ноутбук MSI GE70 0ND-082XRU с двухъядерным процессором и дискретной графикой Nvidia GeForce GTX 660M (Kepler) среднего уровня.
Понятно, что за счет центрального процессора ускорить рендеринг не получится, остаются две технологии Intel Quick Sync Video и CUDA / NVENC.
NVIDIA GPU поддерживающие NVENC кодирование это Kepler и Maxwell. У них есть отличия (подробнее читаем в этом тестировании) по скорости работы и функционалу. NVENC 2.0 поддерживают только чипсеты Maxwell и Maxwell 2.0. В свою очередь Maxwell 2.0 (чипсет GM2xx) поддерживают кроме кодирования в формат H.264, также кодирование и в формат HEVC (H.265). И поддерживает разрешение до 4K@60fps с потоком до 130 Мбит/с (для Kepler: 1080p@60FPS с потоком до 50 Мбит/с).
Ограничения NVENC: для нелицензированных приложений ограничена поддержка двух одновременных потоковых сеансов в NVENC на одном GPU на мобильных и десктопных видеокартах GeForce. Среди специальных видеокарт, официально заявлена поддержка работы NVENC с более чем двумя потоками видео (количество потоков ограничивается только мощностью видеокарты/чипсета) для следующих моделей: NVIDIA Quadro K4000 и выше, NVIDIA Quadro K2000M и выше, NVIDIA Tesla K10 и выше, и вся линейка NVIDIA GRID.
Итак, для начала тестирования подключаем ноутбук к розетке, потом идем в Пуск > Панель управления > Оборудование и звук > Электропитание > Выбор плана электропитания и ставим галку перед пунктом: Высокая производительность. Перезагружаем компьютер, это необходимо, чтобы частоты работы дискретной и интегрированной видеокарты не снижались до 2D.


NVENC

Технические характеристики интегрированной видеокарты в двухъядерном процессоре Intel Core i5-3210M - Intel HD Graphics 4000 (базовая частота графической системы: 650 МГц, а максимальная динамическая частота графической системы: 1.1 ГГц, это максимальная частота рендеринга (МГц), поддерживаемая HD-графикой Intel с функцией Dynamic Frequency).


NVENC

Создаем новый проект в программе Adobe Premiere Pro CC 2015, Рендеринг и воспроизведение видео > Средство рендеринга: Только программное ускорение ядра Mercury Playback.


NVENC

Технология Intel Quick Sync Video обеспечивает быструю конвертацию видео для портативных медиапроигрывателей, размещения в сети, а также редактирования и создания видео. С нее для контраста и начнем, подробнее как подключить плагин с поддержкой Intel Quick Sync Video, читаем здесь. Выбираем: CBR и битрейт 15 Мбит/с. Нажимаем на кнопку: Экспорт.


NVENC

Загрузка четырех потоков процессора доходила до 90% и 4.39Гб оперативной памяти (из 8Гб предустановленной).

NVENC

Загрузка Intel HD Graphics 4000 на базовой частоте 650 МГц доходила до 55%. Частоты прыгали от 350 до 750МГц.

NVENC

Итоговое время просчета видео на таймлайне, длительностью 6 минут и 6 секунд, составленных из различных FullHD H.264 файлов, с разной частотой кадров и разных форматов, составило: 4 минуты и 50 секунд.


NVENC

Для работы с NVENC на ноутбуке, устанавливаем драйвера GeForce Game Ready Driver WHQL 347.88 из архива: Драйверы > Бета и архивные драйверы.

NVENC

Нажимаем на кнопку: Загрузить сейчас.

NVENC

Устанавливаем драйвера NVIDIA.

NVENC

Смотрим технические характеристики мобильного чипсета Nvidia GeForce GTX 660M:

NVENC

Выбираем средство рендеринга: Аппаратное GPU-ускорение ядра Mercury Playback (CUDA).

NVENC

В настройках экспорта программы Adobe Premiere Pro CC 2015 выбираем, Формат: NVENC_export.

NVENC

В разделе: Видео > Nvidia GPU selection видим основные характеристики видеокарты.

NVENC

Нажимаем на кнопку: NVENC Info.

NVENC

Закладка NVENC Config:

NVENC

Информация о NV_ENC_H264_PROFILE: BASE (только CAVLC, нет B-frames), MAIN (интерлейс, CABAC, B-frames), HIGH (выбираем для BluRay, веб, ТВ и т.д.), STEREO (для стерео MVC), HIGH_444 (lossless 4:4:4).


NVENC

Доступные для выбора профили NV_ENC_H264_PROFILE:
NV_ENC_H264_PROFILE_BASELINE_GUID > BASE (базовый профиль).
NV_ENC_H264_PROFILE_MAIN_GUID > MAIN (основной профиль).
NV_ENC_H264_PROFILE_HIGH_GUID > HIGH (высокий это главный профиль для выбора).
NV_ENC_CODEC_PROFILE_AUTOSELECT_GUID > автоматический выбор профиля.


NVENC

Пресеты NV_ENC_PRESET:
NV_ENC_PRESET_DEFAULT_GUID
NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID
NV_ENC_PRESET_HP_GUID > fast
NV_ENC_PRESET_HQ_GUID > medium
NV_ENC_PRESET_BD_GUID
NV_ENC_PRESET_LOW_LATENCY_HQ_GUID
NV_ENC_PRESET_LOW_LATENCY_HP_GUID
7ADD423D-D035-4F6F-AE ...


NVENC

Информация о уровнях NV_ENC_LEVEL_H264: от 3.0 до 5.2 (5.2 доступен при выборе autoselect).

NVENC

Пресеты NV_ENC_LEVEL_H264:

NVENC

Информация о BitrateControl: CONSTQP (constant Quantization-P), VBR (переменный битрейт), CBR (постоянный битрейт), VBR_MINQP (VBR с Minimum Quantization-P), 2_PASS_QUALITY (low-latency, CBR, 2-pass, slow), 2_PASS_FRAMESIZE_CAP (low-latency, CBR, 2-pass), 2_PASS_VBR (высокое качество, два прохода VBR).


NVENC

Пресеты rateControl:
NV_ENC_PARAMS_RC_CONSTQP > CONSTQP (constant Quantization-P)
NV_ENC_PARAMS_RC_VBR > VBR
NV_ENC_PARAMS_RC_CBR > CBR
NV_ENC_PARAMS_RC_VBR_MINQP > VBR с Minimum Quantization-P (Переменный битрейт с минимально используемым значением квантизатора). Minimum Quantizer или MinQP (минимально возможное/используемое значение квантизатора) это параметр активно влияющий на качество кодирования.
В теории, чем ниже его значение, тем более чёткая картинка должна получаться (при условии, что битрейт будет достаточно высоким для достижения этого квантизера). На практике же, зачастую нет смысла использовать значения ниже "10". На слабо детализированных, размытых источниках можно смело ставить и "20". Лишь для мелко детализированного видео с хорошей проработкой элементов, значение "1" показало улучшенные (относительно "10") результаты.
Будьте осторожны, на малых битрейтах не стоит увлекаться значениями меньше "10", так как качество может получится не лучше а хуже (например в видеофайлах жатых по методу ABR(постоянный битрейт) – может появиться „блочность”; В CRF файлах(постоянное качество) – может увеличится размер выходного файла).
Как правило, при значении квантизера порядка 10–15, картинка получается хорошего качества. Поэтому рекомендованное значение "10".
При желании чуть сэкономить битрейт можно установить "20", при этот чуть–чуть, едва заметно ухудшится детализация. При желании сильно сэкономить битрейт установите 29-30.
NV_ENC_PARAMS_RC_2_PASS_VBR > высокое качество, два прохода VBR (с переменным битрейтом).


NVENC

В разделе Video codec group, нажимаем на кнопку Codec Settings.

NVENC

Окно с расширенными настройками кодека:

NVENC

Закладка Sample basic video param group:

NVENC

Нажимаем на кнопку: Экспорт, для прямого рендеринга из программы Adobe Premiere Pro CC 2015. Загрузка NVENC кодера чипсета Nvidia GeForce GTX 660M составила 81% (Video Engine Load):


NVENC

Загрузка центрального процессора: до 79% и утилизировано было до 4.67Гб оперативной памяти.

NVENC

Итоговое время просчета: 3 минуты и 47 секунд. Теперь, посмотрим как NVENC кодер будет работать в паре с движком: Аппаратное GPU-ускорение ядра Mercury Playback (CUDA). Растягиваем над всем видео корректирующий слой и применяем к нему GPU эффект: Эффекты > Размытие и резкость > Быстрое размытие.


NVENC

В Элементы управления эффектами, изменяем параметр: Размытость до 12.

NVENC

И в настройках экспорта, нажимаем на кнопку: Экспорт, смотрим на показания утилиты GPU-Z и видим, что GPU Load загружено на 99%, но помимо этого работает и NVENC кодирование Video Engine Load: 54%.


NVENC

Загрузка же центрального процессора: 29%, утилизировано 5.02 Гб оперативной памяти. Таким образом, у нас получилось самые сложные операции повесить на самый мощный модуль в ноутбуке, а именно дискретный графический адаптер Nvidia GeForce GTX 660M.


NVENC

Читаем про тестирование скорости работы NVENC движка на архитектурах Maxwell 2.0 и Pascal, в программе видеомонтажа Adobe Premiere Pro CC 2017.1.

 
Рейтинг@Mail.ru