Оптимальные настройки для лучшего качества стрима

Это первая статья из серии, посвящённой игровым трансляциям — теме,которую не раз просили разобрать наши читатели.

В последующих статьях мы попытаемся найти правильный ответ на вопрос “Какое железо лучше?” и “Какие настройки качества лучше использовать?”. Эта статья будет посвящена настройкам — мы узнаем, какие настройки кодирования предлагают лучшее соотношение производительности и качества, и чем различные популярные режимы отличаются друг от друга.

Первая ключевая тема: какой метод кодирования лучше — программное кодирование процессора или кодирование с аппаратным ускорением видеокарты…

Для начала, прежде чем мы перейдём непосредственно к тестированию, поговорим о тестовой платформе.

Первый, волнующий нас вопрос — какой метод кодирования лучше: программное кодирование процессора или кодирование с аппаратным ускорением видеокарты. Это действительно важно, так как если кодирование видеокарты лучше, то процессор будет не так уж и важен для игровых трансляций, а если всё наоборот, то процессор становится важнейшим элементом для получения высокого уровня качества, причем не только в вопросе трансляций, но и итоговой игровой производительности.

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

Фото с Techspot.com

На новых видеокартах много внимания было уделено повышению производительности и улучшению совместимости с HEVC, что не особо важно для стриминга. Новый движок архитектуры Turing предполагает 15% улучшение качества видео стандарта H.264, в сравнении с прошлым поколением видеокарт на Pascal (серия GTX 10xx). Мы определённо обратим на это внимание, а заодно посмотрим, как Turing работает с программным кодированием x264. Итак, в тестах мы будем использовать видеокарту RTX 2080, чтобы посмотреть на работу с кодированием Turing, Titan X Pascal для тестов видеокарты на Pascal, и Vega 64, чтобы увидеть, как пойдут дела у AMD.

Во второй части исследования мы рассмотрим программное кодирование с x264 при различных настройках. Сравнение программного кодирования на разных процессорах мы оставим для другой статьи — в этой нам интереснее разобраться в том, как каждая из настроек влияет на производительность и качество.

Фото с Techspot.com

Все тесты проводились на разогнанном до 4.9 GHz Core i7-8700k и 16 ГБ оперативной памяти DDR4-3000. Именно такую платформу мы рекомендуем для игр на максимуме. В будущем мы также планируем разобраться, насколько хорош 9900K в сравнении с процессорами Ryzen от AMD.

Для захвата мы используем последнюю версию OBS, настроенную на запись в 1080p при 60 кадрах в секунду с постоянным битрейтом 6000 кбит/с. Это максимальные настройки качества, рекомендованные Twitch. Если вы собираетесь сделать запись игрового процесса для иных целей, то мы рекомендуем вам поднять битрейт, но для ведения трансляции на Twitch, вам нужно иметь 6 Мб/с или ниже, если ваш канал не подключен к партнёрской программе.

Для тестирования мы используем Assassin’s Creed Odyssey, которая очень требовательна к процессору и видеокарте, а следовательно, у нее есть определенные проблемы с программным кодированием через процессор. Второй игрой будет Forza Horizon 4 — чуть менее требовательная к процессору, но довольно быстрая игра, с которой могут быть проблемы при низком битрейте. Обе игры представляют собой не самый удачный выбор для игровых трансляций, но каждая по-своему интересна для наших тестов.

Начнём с кодирования при помощи видеокарт, ведь долгие годы с ним были огромные проблемы. Больше всего нам интересно, получилось ли у Turing исправить ошибки своих предшественников, с которыми использовать кодирование было практически невозможно.

На видеокартах от Nvidia мы использовали NVENC в OBS и выбрали “Высокое Качество” при битрейте 6 Мбит/c. Разумеется есть и другие надстройки, но “Высокое Качество” выдаёт, как вы могли догадаться, самое высокое качество. На видеокартах Vega 64 от AMD мы опробовали множество разных настроек (как качества в целом, так и битрейта), но без особых успехов, как вы сами вскоре увидите.

Фото с Techspot.com

Сравнивая настройку NVENC на видеокартах Turing и Pascal, можно сказать, что при битрейте 6 Мбит/c разницы почти нет. В обоих случаях есть проблема с остающимися на картинке макроблоками, да и в целом качество оставляет желать лучшего. Если говорить конкретно о Forza Horizon 4 — макроблокинг наиболее заметен на дороге и смотрится ужасно. У Turing, конечно, картинка немного более чёткая, да и макроблоки вылезают реже, но в целом можно сказать одно — оба варианта отвратительны. Если вы собираетесь заниматься трансляцией игр, то это не тот уровень качества, которым можно впечатлить зрителей.

Фото с Techspot.com

У AMD ситуация ещё хуже — когда загрузка GPU близится к 100%, то кодирование просто напрочь ломается и выдаёт не более 1 кадра в секунду, чего не происходило с видеокартами от Nvidia. У нас получилось запустить энкодер с ограничением частоты кадров, что снизило загрузку видеоядра примерно до 60% в Forza Horizon 4, но даже с “Качественными” надстройками, Vega 64 выдавала картинку хуже, чем карты на Pascal от Nvidia.

Фото с Techspot.com

С тем, что энкодер от AMD “отвалился” еще в самом начале, давайте рассмотрим противостояние NVENC от Nvidia с процессорным программным кодингом x264. В более медленном тесте производительности Assassin’s Creed Odyssey, NVENC даже на “Высоком Качестве” заметно хуже, чем x264 с надстройками “Veryfast”, особенно при сравнении мелких деталей, хотя в обоих случаях используется битрейт 6 Мб/с. Veryfast x264 не идеален, но на фоне NVENC видеокарт Turing с огромным количеством макроблокинга и нечёткими деталями, он выглядит явным лидером.

Фото с Techspot.com

В более быстром тесте производительности Forza Horizon 4, NVENC видеокарт Turing местами уделывает надстройку veryfast x264. Вариант от Nvidia всё ещё страдает от макроблокинга, но у veryfast огромные проблемы с качеством деталей в движении. В игре с таким количеством движения, NVENC по качеству надстройки примерно равен “faster” x264. Тем не менее, надстройка “fast” x264 работает с движущимися объектами намного лучше, чем NVENC и даже полностью уделывает её, в случаях, когда движение на экране минимально, либо отсутствует вовсе.

Фото с Techspot.com

Это результаты оказались довольно неожиданными, особенно учитывая тот факт, что компания Nvidia обещала, что новый движок NVENC на картах Turing работает с H.264 на уровне надстройки fast у x264, если не лучше, при трансляции в качестве 1080p на 60 кадрах в секунду и битрейте 6 Мбит/с. Но, если посмотреть на тест в Assassin’s Creed Odyssey, можно увидеть совсем иное — программное кодирование попросту лучше.

Фото с Techspot.com

Говоря о надстройках программного кодирования x264, между каждой (veryfast, faster, fast и medium) есть довольно заметная разница. В медленном Assassin’s Creed Odyssey (если пока опустить проблемы с производительностью у каждой надстройки) — veryfast и faster выдают не самую лучшую картинку: множество смазанных кадров, макроблокинг в некоторых зонах и плохая обработка деталей в движении.

Эти две надстройки лучше оставить для тех случаев, когда качество не особо важно, поскольку при битрейте 6 Мбит/с изображение получается весьма посредственным.

Фото с Techspot.com

Надстройка fast — самый минимум, который стоит использовать, если вы действительно хотите обеспечить зрителям качественную картинку. Разница в качестве между faster и fast — довольно заметная, ведь ранее замыленные детали выглядят достаточно чётко.

Medium — ещё один шаг вперёд, однако разница в качестве между fast и medium меньше, чем между faster и fast. Как вы позже увидите, medium — довольно тяжёлая по производительности надстройка, поэтому запускать её на той же системе, с которой работает игра, явно не стоит. Кроме того, мы проверили надстройку slow, но там всё ещё хуже — столь сильный удар по производительности явно того не стоит.

Фото с Techspot.com

Для быстрого движения в Forza Horizon 4, опять же, стоит сразу забыть о veryfast, поскольку в случае с подобными играми он даже хуже NVENC. К сожалению, из-за битрейта в 6 Мбит/с, любая надстройка будет далека от оригинального материала, но medium визуально будет к нему ближе всего, да и смотрится намного лучше, чем с fast.

С faster, как уже говорилось выше, все ужасно, поэтому нет смысла использовать что-либо ниже fast для этого типа игр. Хочется заметить, что лучше всего работал бы medium на более высоком битрейте, но у Twitch есть ограничения, поэтому 6 Мбит/с — наш потолок битрейта.

Производительность

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

Начнём, пожалуй, с графиков влияния кодирования при помощи видеокарты на производительность.

Включив NVENC на картах Pascal или Turing, вы потеряете примерно 10-20% кадров в секунду, в зависимости от игры. Другими словами, между трансляцией с NVENC и выключенным стримом, разница в производительности будет 10-20%. Однако, чем больше игра зависит от видеокарты, тем сильнее NVENC ударит по производительности. Вот почему Forza Horizon 4 теряет больше кадров, чем зависимая от процессора Assassin’s Creed Odyssey.

Похожее:  Вентилятор Охлаждения видеокарты gpu VGA для ASUS gt530 GeForce GT 530 graphics card cooler fan cooler fancard

Но есть и хорошие новости! Пусть вы и будете играть на чуть более низких кадрах в секунду при использовании NVENC, на трансляции будет идеальная картинка без падения кадров, даже если игра грузит видеокарту на 100%. Кодирующий движок карт AMD не так сильно влияет на производительность игры, но в случае высокой загрузки видеокарты происходит падение числа кадров в секунду примерно на 90%, что, как мы упоминали ранее, делает его бесполезным.

Производительность в режиме программного кодирования зависит от конкретной игры. В случае с требовательной как к процессору, так и к видеокарте Assassin’s Creed Odyssey, использование программного кодирования процессора для ведения трансляции может негативно сказаться на частоте кадров, да и надстройки, обеспечивающие высокое качество, могут не справляться.

На системе с Core i7-8700K и RTX 2080 мы запустили Odyssey с собственными, особыми настройками графики, но игра работала стабильно (без проседания частоты кадров на трансляции) лишь на надстройке кодирования x264 veryfast. X264 veryfast также ударил по частоте кадров примерно на 17%, что даже больше, чем у NVENC. Тем не менее, veryfast для такой игры все равно смотрится лучше, чем NVENC, так что небольшой удар по производительности стоит того.

Тем временем, уже на надстройке faster можно заметить ухудшение качества трансляции. Хоть оно и составило всего 8.5%, с полученной картинкой трансляцию было трудно смотреть, она шла рывками. Кроме того, частота кадров в игре упала со средних 90 до 63, а самый минимум опустился почти до 30. Здесь ясно видно, что надстройка перегружает систему. С fast и medium ситуация ещё хуже — у них снижение числа кадров достигает 62% и 82% соответственно. Самое интересное, что частота кадров в игре на таких надстройках выше, чем на faster, но, возможно, так происходит из-за того, что энкодер перегружен, в результате чего на игру выделяется чуть больше мощностей процессора.

Один из способов повышения производительности — ограничение частоты кадров в игре. Можно поставить 60, так как на трансляции все равно действует лимит на 60 кадров в секунду. Но даже с ограничением дела не становятся лучше: у надстройки fast всё ещё наблюдается падение числа кадров на 9%, а у faster вообще нет просадок, хотя и проявилось незначительное падение до 40 кадров. Единственный способ стабильно использовать fast в данном случае — снизить настройки графики и попробовать ещё раз, но, увы, эта статья не про оптимизацию Assassin’s Creed под трансляцию с нашим железом.

Во второй части исследования будет интересно разобраться в том, как покажут себя другие процессоры. Но в этой части 8700K, популярный игровой процессор высокого уровня, показал примерную ситуацию с трансляцией игры, которая крайне требовательна к процессору и видеокарте. Тем не менее, процессоры похуже, особенно малоядерные от Intel, в основном будут нормально работать на надстройке veryfast.

Источник



Обзор и тестирование NVIDIA GeForce RTX 3080 Ti – лучшая видеокарта для геймера?

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

Первая попытка ввести защиту от майнинга с GeForce RTX 3060 не увенчалась успехом – она была быстро обойдена. Но производитель не сдается, и улучшенным механизмом снижения производительности при добыче этериума будут снабжаться все новые модели видеокарт, а также специальные ревизии уже существующих. Если ее не взломают, то конкретно протестированная сегодня мной GeForce RTX 3080 Ti станет лучшим выбором для энтузиаста. Пусть и все равно дорогая, но уже не настолько запредельно, как сейчас RTX 3080 и RTX 3090.

Что же представляет собой NVIDIA GeForce RTX 3080 Ti?

Характеристики и позиционирование

Производитель в официальных документах предпочитает сравнивать новинку с предшественницей – GeForce RTX 2080 Ti. На ее фоне разница действительно выглядит особенно впечатляюще. Заявлено общее полуторакратное преимущество GeForce RTX 3080 Ti в производительности над флагманом предыдущего поколения.

Но всех, конечно, больше интересует сравнение с «соседками» новинки по актуальному модельному ряду поколения NVIDIA Ampere. Перед нами усиленная версия GeForce RTX 3080. Однако новый вариант не претендует на верхнюю ступеньку в линейке – там все еще властвует GeForce RTX 3090.

Характеристики \ Модель GeForce RTX 3080 GeForce RTX 3080 Ti GeForce RTX 3090
GPU GA102 GA102 GA102
Транзисторов, млрд 28.3 28.3 28.3
Ядра CUDA, шт. 8 704 10 240 10 496
Ядра RT, шт. 68 80 82
Объем памяти, Гбайт 10 12 24
TDP, Ватт 320 350 350
Рекомендованная цена $699 $1199 $1499

Из сравнения характеристик явственно следует, что новинка ближе к GeForce RTX 3090, чем к RTX 3080. Да, GPU у всех трех один. Но в GeForce RTX 3080 Ti включено почти столько же блоков, как во флагмане. И шина памяти стала такой же – 384-битной. Хотя объем GDDR6 тут вдвое меньше (впрочем, и здешних 12 Гбайт будет более чем достаточно для всех текущих игр, и это все-таки немного, но больше 10 Гбайт в обычной RTX 3080).

Правда, и рекомендованная цена в 1199 долларов располагается гораздо ближе к $1499 для GeForce RTX 3090, чем к $699 для RTX 3080. Хотя в наше время тотального дефицита и оторванных от реальности розничных цен это не столь принципиально. Тут главное, чтобы двукратное снижение производительности при майнинге не удалось обойти, а видеокарт производили как можно больше. И тогда цены GeForce RTX 3080 Ti на фоне ближайших конкурентов станут привлекательны сами собой.

А ее аудиторией являются далеко не только геймеры. Новый субфлагман GeForce RTX в полной мере готов проявить все свои возможности в самых разных сферах. Включая профессиональное применение. У NVIDIA есть даже специальный драйвер (а точнее, это пакет ПО), носящий название Studio.

В нем в GeForce Experience добавляются не только игры, но и поддерживаемые профессиональные пакеты.

Источник

Рендеринг с ускорением графического процессора и аппаратное кодирование

В этой статье говорится о Mercury Playback Engine (с ускорением графического процессора) и аппаратном декодировании/кодировании (Intel® Quick Sync) в Adobe Premiere Pro и Adobe Media Encoder.

Модуль рендеринга Mercury Playback Engine (с ускорением графического процессора)

Adobe Premiere Pro и Adobe Media Encoder могут использовать имеющиеся в вашей системе графические процессоры для распределения нагрузки между ЦП и ГП для повышения производительности. В настоящее время большая часть обработки выполняется центральным процессором, а графический процессор помогает в обработке определенных задач и функций.

Модуль рендеринга Mercury Playback Engine (с ускорением графического процессора) используется для рендеринга эффектов и функций с ускорением графического процессора.
Здесь представлен список эффектов с ускорением графического процессора в Adobe Premiere Pro. Чтобы найти эффекты с ускорением графического процессора, перейдите на панель Эффекты и найдите значок «Ускоренные эффекты».

Значок эффектов с ускорением графического процессора

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

Здесь представлен список рекомендуемых графических карт для Adobe Premiere Pro.
Рекомендуется использовать графические процессоры с 4 ГБ видеопамяти, но объем памяти может варьироваться в зависимости от типа работы, выполняемой в Adobe Premiere Pro.

Общие требования к объему видеопамяти:

  • 1080p — 4 ГБ видеопамяти
  • 4К — 6 ГБ видеопамяти
  • 6K или выше — 8 ГБ видеопамяти или больше

Для ВР необходим объем видеопамяти не менее 6 ГБ. При работе со стереоскопическими кадрами с более высоким разрешением (например, 8K x 8K), вам может понадобиться больший объем видеопамяти. При использовании графических процессоров NVIDIA убедитесь в том, что установлена последняя версия драйвера, поддерживающая CUDA 9.2.

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

  • Для Adobe Premiere Pro перейдите в «Файл» > «Настройки проекта» > «Общие» > «Рендеринг и воспроизведение видео», установите для параметра Модуль рендеринга значение Mercury Playback Engine GPU Acceleration (OpenCL/CUDA/Metal).

Модуль рендеринга в Premiere ProУстановка модуля рендеринга в Adobe Premiere Pro

  • Для Adobe Media Encoder перейдите в «Настройки» > «Общие» и установите для параметра Модуль рендеринга значение Mercury Playback Engine GPU Acceleration (OpenCL/CUDA/Metal) в разделе Рендеринг видео.

Модуль рендеринга в Adobe Media EncoderУстановка модуля рендеринга в Adobe Media Encoder

В Adobe Media Encoder Модуль рендеринга также можно установить в правом нижнем углу панели Очередь.

Если параметр Mercury Playback Engine GPU Acceleration недоступен после обновления или переустановки Adobe Premiere Pro, выполните чистую установку драйверов графического процессора для решения этой проблемы.

  • Чистая установка драйверов NVIDIA.
  • Чистая установка драйверов AMD®.
Похожее:  Вентиляторы для HDD в Санкт Петербурге

Adobe Premiere Pro использует один графический процессор во время воспроизведения и нескольких графических процессоров для выполнения других задач, таких как Рендеринг точки входа и выхода и экспорт. Можно настроить CrossFire для представления нескольких графических процессоров в качестве одного логического ГП, и в этом случае Adobe Premiere Pro рассматривает его как один графический процессор.

В случае использования конфигурации с несколькими графическими процессорами (отличной от SLI или CrossFire) рекомендуется отключить функцию автоматического переключения графического процессора или графики на основе системы или драйвера.

Модуль Mercury Playback Engine, работающий на выделенном графическом процессоре, не используется для обработки всего, что связано с графическим процессором. Встроенный графический процессор может использоваться для определенных задач, таких как кодирование и декодирование определенных кодеков и действия пользовательского интерфейса, которые могут отображаться при отслеживании использования графического процессора.

Использование графического процессора зависит от нескольких факторов. Использование графического процессора при редактировании или рендеринге может быть максимальным в зависимости от количества используемых эффектов или функций с ускорением графического процессора и его вычислительных возможностей. Таким образом, мощный графический процессор, такой как NVIDIA RTX 2080, может работать быстрее, чем NVIDIA GTX 1060, но при этом показывать менее интенсивное использование. Это происходит потому, что он более мощный и ему может потребоваться меньше аппаратных ресурсов для обработки той же информации, что и NVIDIA GTX 1060 или другим графическим процессорам среднего класса. При использовании нескольких эффектов с ускорением графического процессора интенсивность его работы может сначала быть низкой, но затем увеличиться при использовании большего количества эффектов с ускорением графического процессора.

Это относится только к эффектам VR. Это сообщение появляется, когда у графического процессора недостаточно видеопамяти для обработки эффекта.

Кодирование и декодирование с аппаратным ускорением (Intel® Quick Sync)

Intel® Quick Sync — это технология Intel®, которая использует специальные возможности обработки мультимедиа Intel® Graphics Technology для быстрого декодирования и кодирования, позволяя процессору выполнять другие задачи и повышать производительность. В настоящее время поддерживается только кодирование с помощью кодеков h.264 и HEVC (h.265). Эта функция доступна только в том случае, если используется процессор Intel® с поддержкой Intel® Quick Sync.

Здесь представлены системные требования для кодирования с аппаратным ускорением.

Включение и отключение аппаратного кодирования зависит от типа используемого процессора Intel®. Если поддерживаемый процессор не используется или технология Intel® Quick Sync отключена в BIOS, этот параметр может быть недоступен.

Чтобы его включить, выберите H.264/ HEVC из раскрывающегося списка форматов в разделе Настройки экспорта. Затем на вкладке Видео перейдите в Настройки кодирования и установите для параметра Производительность значение Аппаратное кодирование. При выборе Программного кодирования отключится аппаратное кодирование и Adobe Premiere Pro не будет использовать Intel® Quick Sync для кодирования медиафайлов (это может увеличить время рендеринга).

Включить аппаратное кодированиеВключить аппаратное кодирование

При использовании аппаратного кодирования графический процессор может интенсивнее работать на встроенном процессоре Intel®, а не на выделенном ГП.

Поддерживаемые платформы кодеков

Кодирование: H.264/AVC, HEVC 4:2:0 до 4096×4096. Начиная с 10-го поколения процессоров Intel® Core™ и более поздних, кодирование HEVC поддерживается до 8192×8192.

Декодирование: H.264/AVC, HEVC 4:2:0 до 4096×4096 (часть содержимого 8K HEVC работает на процессорах Intel® Core™ 7-го поколения и более поздних)

Почему параметр аппаратного кодирования недоступен?

Чтобы эта функция работала, требуется процессор Intel® с поддержкой Intel® Quick Sync. Проверьте, отвечает ли процессор Intel® требованиям для аппаратного кодирования. Если BIOS вашей системы поддерживает включение и отключение графического процессора Intel®, убедитесь, что он всегда включен, чтобы аппаратное кодирование работало. Некоторые системы, такие как Surface Studio, могут не включать графический процессор Intel®, что может привести к тому, что параметр аппаратного кодирования будет недоступен.

При наличии поддерживаемого ЦП Intel® с включенным ГП Intel® и невозможности использования аппаратного кодирования убедитесь, что ГП Intel® указан на вкладке диспетчера задач «Производительность» (только для Windows®). Если графический процессор Intel® отсутствует в списке, проверьте, включен ли он в диспетчере устройств, и обновите графические драйверы Intel® до последней версии.

Графический процессор в диспетчере задач и диспетчере устройствГрафический процессор Intel® указан в диспетчере задач и диспетчере устройств

Помимо кодирования с аппаратным ускорением, Adobe Premiere Pro также поддерживает декодирование с аппаратным ускорением, чтобы обеспечить лучшее воспроизведение при работе с медиафайлами H.264/AVC и HEVC на временной шкале.

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

Действия по включению декодирования с аппаратным ускорением:

  • Перейдите в меню Настройки > Медиафайлы
  • Выберите Включить декодирование с аппаратным ускорением (требуется перезапуск)
  • Перезапустить Adobe Premiere Pro

Включить декодирование с аппаратным ускорениемВключить декодирование с аппаратным ускорением

Если этот параметр недоступен на панели «Настройки», это означает, что либо процессор не поддерживает Intel® Quick Sync, либо встроенный графический процессор не включен, либо необходимо обновить графические драйверы Intel®.

Поддерживаемые платформы кодеков

Эта функция работает с медифайлами MP4, а именно, с кодеками H.264/AVC и HEVC.

M2TS (транспортный поток MPEG-2) не поддерживается. При использовании медиафайла 4K M2TS его перекодирование в поддерживаемый кодек MP4 может помочь улучшить воспроизведение, поскольку перекодированный медиафайл MP4 может использовать декодирование с аппаратным ускорением (улучшение производительности может быть незначительным при перекодировании медиафайла HD M2TS).

Обработка кадров для декодирования с аппаратным ускорением на встроенном графическом процессоре Intel® в системах с ОЗУ объемом 8 ГБ или меньше может быть ограничена и привести к тому, что процессор начнет обработку, поскольку встроенный графический процессор использует оперативную память в качестве общей памяти ГП. Рекомендуется 16 ГБ ОЗУ или больше для лучшей производительности.

Разница между декодированием с аппаратным ускорением, Mercury Playbаck Engine (ускорение графического процессора) и кодированием с аппаратным ускорением

Источник

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

Это первая статья из серии, посвящённой игровым трансляциям — теме,которую не раз просили разобрать наши читатели.

В последующих статьях мы попытаемся найти правильный ответ на вопрос “Какое железо лучше?” и “Какие настройки качества лучше использовать?”. Эта статья будет посвящена настройкам — мы узнаем, какие настройки кодирования предлагают лучшее соотношение производительности и качества, и чем различные популярные режимы отличаются друг от друга.

Первая ключевая тема: какой метод кодирования лучше — программное кодирование процессора или кодирование с аппаратным ускорением видеокарты…

Для начала, прежде чем мы перейдём непосредственно к тестированию, поговорим о тестовой платформе.

Первый, волнующий нас вопрос — какой метод кодирования лучше: программное кодирование процессора или кодирование с аппаратным ускорением видеокарты. Это действительно важно, так как если кодирование видеокарты лучше, то процессор будет не так уж и важен для игровых трансляций, а если всё наоборот, то процессор становится важнейшим элементом для получения высокого уровня качества, причем не только в вопросе трансляций, но и итоговой игровой производительности.

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

Фото с Techspot.com

На новых видеокартах много внимания было уделено повышению производительности и улучшению совместимости с HEVC, что не особо важно для стриминга. Новый движок архитектуры Turing предполагает 15% улучшение качества видео стандарта H.264, в сравнении с прошлым поколением видеокарт на Pascal (серия GTX 10xx). Мы определённо обратим на это внимание, а заодно посмотрим, как Turing работает с программным кодированием x264. Итак, в тестах мы будем использовать видеокарту RTX 2080, чтобы посмотреть на работу с кодированием Turing, Titan X Pascal для тестов видеокарты на Pascal, и Vega 64, чтобы увидеть, как пойдут дела у AMD.

Во второй части исследования мы рассмотрим программное кодирование с x264 при различных настройках. Сравнение программного кодирования на разных процессорах мы оставим для другой статьи — в этой нам интереснее разобраться в том, как каждая из настроек влияет на производительность и качество.

Фото с Techspot.com

Все тесты проводились на разогнанном до 4.9 GHz Core i7-8700k и 16 ГБ оперативной памяти DDR4-3000. Именно такую платформу мы рекомендуем для игр на максимуме. В будущем мы также планируем разобраться, насколько хорош 9900K в сравнении с процессорами Ryzen от AMD.

Для захвата мы используем последнюю версию OBS, настроенную на запись в 1080p при 60 кадрах в секунду с постоянным битрейтом 6000 кбит/с. Это максимальные настройки качества, рекомендованные Twitch. Если вы собираетесь сделать запись игрового процесса для иных целей, то мы рекомендуем вам поднять битрейт, но для ведения трансляции на Twitch, вам нужно иметь 6 Мб/с или ниже, если ваш канал не подключен к партнёрской программе.

Для тестирования мы используем Assassin’s Creed Odyssey, которая очень требовательна к процессору и видеокарте, а следовательно, у нее есть определенные проблемы с программным кодированием через процессор. Второй игрой будет Forza Horizon 4 — чуть менее требовательная к процессору, но довольно быстрая игра, с которой могут быть проблемы при низком битрейте. Обе игры представляют собой не самый удачный выбор для игровых трансляций, но каждая по-своему интересна для наших тестов.

Похожее:  Что такое стресс тест видеокарты

Начнём с кодирования при помощи видеокарт, ведь долгие годы с ним были огромные проблемы. Больше всего нам интересно, получилось ли у Turing исправить ошибки своих предшественников, с которыми использовать кодирование было практически невозможно.

На видеокартах от Nvidia мы использовали NVENC в OBS и выбрали “Высокое Качество” при битрейте 6 Мбит/c. Разумеется есть и другие надстройки, но “Высокое Качество” выдаёт, как вы могли догадаться, самое высокое качество. На видеокартах Vega 64 от AMD мы опробовали множество разных настроек (как качества в целом, так и битрейта), но без особых успехов, как вы сами вскоре увидите.

Фото с Techspot.com

Сравнивая настройку NVENC на видеокартах Turing и Pascal, можно сказать, что при битрейте 6 Мбит/c разницы почти нет. В обоих случаях есть проблема с остающимися на картинке макроблоками, да и в целом качество оставляет желать лучшего. Если говорить конкретно о Forza Horizon 4 — макроблокинг наиболее заметен на дороге и смотрится ужасно. У Turing, конечно, картинка немного более чёткая, да и макроблоки вылезают реже, но в целом можно сказать одно — оба варианта отвратительны. Если вы собираетесь заниматься трансляцией игр, то это не тот уровень качества, которым можно впечатлить зрителей.

Фото с Techspot.com

У AMD ситуация ещё хуже — когда загрузка GPU близится к 100%, то кодирование просто напрочь ломается и выдаёт не более 1 кадра в секунду, чего не происходило с видеокартами от Nvidia. У нас получилось запустить энкодер с ограничением частоты кадров, что снизило загрузку видеоядра примерно до 60% в Forza Horizon 4, но даже с “Качественными” надстройками, Vega 64 выдавала картинку хуже, чем карты на Pascal от Nvidia.

Фото с Techspot.com

С тем, что энкодер от AMD “отвалился” еще в самом начале, давайте рассмотрим противостояние NVENC от Nvidia с процессорным программным кодингом x264. В более медленном тесте производительности Assassin’s Creed Odyssey, NVENC даже на “Высоком Качестве” заметно хуже, чем x264 с надстройками “Veryfast”, особенно при сравнении мелких деталей, хотя в обоих случаях используется битрейт 6 Мб/с. Veryfast x264 не идеален, но на фоне NVENC видеокарт Turing с огромным количеством макроблокинга и нечёткими деталями, он выглядит явным лидером.

Фото с Techspot.com

В более быстром тесте производительности Forza Horizon 4, NVENC видеокарт Turing местами уделывает надстройку veryfast x264. Вариант от Nvidia всё ещё страдает от макроблокинга, но у veryfast огромные проблемы с качеством деталей в движении. В игре с таким количеством движения, NVENC по качеству надстройки примерно равен “faster” x264. Тем не менее, надстройка “fast” x264 работает с движущимися объектами намного лучше, чем NVENC и даже полностью уделывает её, в случаях, когда движение на экране минимально, либо отсутствует вовсе.

Фото с Techspot.com

Это результаты оказались довольно неожиданными, особенно учитывая тот факт, что компания Nvidia обещала, что новый движок NVENC на картах Turing работает с H.264 на уровне надстройки fast у x264, если не лучше, при трансляции в качестве 1080p на 60 кадрах в секунду и битрейте 6 Мбит/с. Но, если посмотреть на тест в Assassin’s Creed Odyssey, можно увидеть совсем иное — программное кодирование попросту лучше.

Фото с Techspot.com

Говоря о надстройках программного кодирования x264, между каждой (veryfast, faster, fast и medium) есть довольно заметная разница. В медленном Assassin’s Creed Odyssey (если пока опустить проблемы с производительностью у каждой надстройки) — veryfast и faster выдают не самую лучшую картинку: множество смазанных кадров, макроблокинг в некоторых зонах и плохая обработка деталей в движении.

Эти две надстройки лучше оставить для тех случаев, когда качество не особо важно, поскольку при битрейте 6 Мбит/с изображение получается весьма посредственным.

Фото с Techspot.com

Надстройка fast — самый минимум, который стоит использовать, если вы действительно хотите обеспечить зрителям качественную картинку. Разница в качестве между faster и fast — довольно заметная, ведь ранее замыленные детали выглядят достаточно чётко.

Medium — ещё один шаг вперёд, однако разница в качестве между fast и medium меньше, чем между faster и fast. Как вы позже увидите, medium — довольно тяжёлая по производительности надстройка, поэтому запускать её на той же системе, с которой работает игра, явно не стоит. Кроме того, мы проверили надстройку slow, но там всё ещё хуже — столь сильный удар по производительности явно того не стоит.

Фото с Techspot.com

Для быстрого движения в Forza Horizon 4, опять же, стоит сразу забыть о veryfast, поскольку в случае с подобными играми он даже хуже NVENC. К сожалению, из-за битрейта в 6 Мбит/с, любая надстройка будет далека от оригинального материала, но medium визуально будет к нему ближе всего, да и смотрится намного лучше, чем с fast.

С faster, как уже говорилось выше, все ужасно, поэтому нет смысла использовать что-либо ниже fast для этого типа игр. Хочется заметить, что лучше всего работал бы medium на более высоком битрейте, но у Twitch есть ограничения, поэтому 6 Мбит/с — наш потолок битрейта.

Производительность

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

Начнём, пожалуй, с графиков влияния кодирования при помощи видеокарты на производительность.

Включив NVENC на картах Pascal или Turing, вы потеряете примерно 10-20% кадров в секунду, в зависимости от игры. Другими словами, между трансляцией с NVENC и выключенным стримом, разница в производительности будет 10-20%. Однако, чем больше игра зависит от видеокарты, тем сильнее NVENC ударит по производительности. Вот почему Forza Horizon 4 теряет больше кадров, чем зависимая от процессора Assassin’s Creed Odyssey.

Но есть и хорошие новости! Пусть вы и будете играть на чуть более низких кадрах в секунду при использовании NVENC, на трансляции будет идеальная картинка без падения кадров, даже если игра грузит видеокарту на 100%. Кодирующий движок карт AMD не так сильно влияет на производительность игры, но в случае высокой загрузки видеокарты происходит падение числа кадров в секунду примерно на 90%, что, как мы упоминали ранее, делает его бесполезным.

Производительность в режиме программного кодирования зависит от конкретной игры. В случае с требовательной как к процессору, так и к видеокарте Assassin’s Creed Odyssey, использование программного кодирования процессора для ведения трансляции может негативно сказаться на частоте кадров, да и надстройки, обеспечивающие высокое качество, могут не справляться.

На системе с Core i7-8700K и RTX 2080 мы запустили Odyssey с собственными, особыми настройками графики, но игра работала стабильно (без проседания частоты кадров на трансляции) лишь на надстройке кодирования x264 veryfast. X264 veryfast также ударил по частоте кадров примерно на 17%, что даже больше, чем у NVENC. Тем не менее, veryfast для такой игры все равно смотрится лучше, чем NVENC, так что небольшой удар по производительности стоит того.

Тем временем, уже на надстройке faster можно заметить ухудшение качества трансляции. Хоть оно и составило всего 8.5%, с полученной картинкой трансляцию было трудно смотреть, она шла рывками. Кроме того, частота кадров в игре упала со средних 90 до 63, а самый минимум опустился почти до 30. Здесь ясно видно, что надстройка перегружает систему. С fast и medium ситуация ещё хуже — у них снижение числа кадров достигает 62% и 82% соответственно. Самое интересное, что частота кадров в игре на таких надстройках выше, чем на faster, но, возможно, так происходит из-за того, что энкодер перегружен, в результате чего на игру выделяется чуть больше мощностей процессора.

Один из способов повышения производительности — ограничение частоты кадров в игре. Можно поставить 60, так как на трансляции все равно действует лимит на 60 кадров в секунду. Но даже с ограничением дела не становятся лучше: у надстройки fast всё ещё наблюдается падение числа кадров на 9%, а у faster вообще нет просадок, хотя и проявилось незначительное падение до 40 кадров. Единственный способ стабильно использовать fast в данном случае — снизить настройки графики и попробовать ещё раз, но, увы, эта статья не про оптимизацию Assassin’s Creed под трансляцию с нашим железом.

Во второй части исследования будет интересно разобраться в том, как покажут себя другие процессоры. Но в этой части 8700K, популярный игровой процессор высокого уровня, показал примерную ситуацию с трансляцией игры, которая крайне требовательна к процессору и видеокарте. Тем не менее, процессоры похуже, особенно малоядерные от Intel, в основном будут нормально работать на надстройке veryfast.

Источник