Найти в Дзене
Sandrix

Анализ производительности OBS и как повысить fps при стриме и записи видео

Оглавление

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

  • Использовалась чистая OBS 27.1.3
  • Windows 10 21H1
  • Кодировщик NVENC H.264 (new) на видеокарте GTX 1660 Ti (Turing).
    Результаты могут сильно отличаться в зависимости от кодировщика, который вы используете, поколения видеокарты и игры, которую вы стримите или записываете.
  • Мониторинг осуществлялся с помощью MSI Afterburner

Содержание

1. Суммарная потеря производительности
2. Влияние количества источников в OBS
3. Захват игры или экрана
4. Влияние OBS на fps в простое
5. Вкл/откл. предпросмотра
6. Запись видео и трансляция
7. Влияние битрейта на fps
8. Влияние веб-камеры на производительность
9. Выбор Пресеты
10. Масштабирование разрешения в OBS
11. Влияние частоты кадров видео
12. Способы снижения влияния стрима на фпс в играх

Суммарная потеря производительности

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

Как можно заметить, при записи видео в Full HD потеря максимальной производительности в игре составила в районе 20%. Для 2К разрешения - 27% и для 4К - целых 47%.

То есть, конкретно в моём случае, падения производительности начнут серьезно отражаться на плавность геймплея при стриме или записи в 2К разрешении, т.к нагрузка на GPU достигает до 100%, и видеокарта не может обеспечить необходимую частоту кадров для 75 hz монитора.

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

Источники в OBS

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

Захват игры или экрана

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

Влияние OBS на fps в простое

Как можно заметить из скриншотов ниже, просто запущенная OBS может отнимать до 10% производительности в игре. Это объясняется тем, что при запуске OBS резервирует для себя определённое количество ресурсов, в том числе и GPU. Это было добавлено в с версии OBS 24.0.
К этому стоит относиться как к должному и это полезная функция, которая улучшать стабильность работы программы и кодирование видео.

Предпросмотр

Включение предпросмотра незначительно влияет на производительность.

Однако, обратите внимание на показатели по редким и очень редким кадрам (1 и 0,1%), а также на график времени кадра и fps.
С включённым предпросмотром игра работает
менее стабильно.

В окне предпросмотра могут наблюдаться подтормаживания игры, но это не должно негативно отразиться на записи или трансляции.
Чаще всего
такое происходит при загрузке GPU до 100%.

-9

В итоге, более предпочтительно предпросмотр отключать, чтобы улучшить стабильность игры. Подписки, донаты и прочую информацию можно вывести через док-панели.

Рекомендую просто задать горячую клавишу для вкл/откл предпросмотра.

-10

Запись видео и трансляция

Сравним влияние на фпс в игре при записи и трансляции (YouTube).
Настройки для записи и трансляции были указаны
одинаковые.

1920x1080 (60 fps)
1920x1080 (60 fps)

На скриншотах наглядно показано, какое количество производительности потенциально можно потерять после запуска OBS и включении записи или трансляции.
Исходя из результатов, можно заметить, что трансляция и запись видео одинаково влияют на fps, при условии, что используются одни и те же настройки кодировщика, т.к нагрузка на энкодер одинаковая.

Теперь оценим влияние на fps при одновременном стриме и записи видео в full hd разрешении 60 к/с.

-13

Запуск трансляции или запись видео отнял около 4% производительности. Одновременный стрим и запись - около 8% fps.

Влияние битрейта на fps

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

Влияние веб-камеры на производительность

Я использую бюджетную веб-камеру Logitech С270, и как вы можете заметить по скриншотам, если включить в OBS веб-камеру, то это уменьшит fps в игре еще до 8% .

Чем более крутая у вас веб-камера, или быть может вы используете зеркалку, тем сильнее это может отразиться на производительности.

Выбор Пресета

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

Масштабирование разрешения в OBS

Увеличение выходного разрешения в OBS существенно влияет на производительность в играх и увеличивает нагрузку на кодировщик.
То есть с увеличением выходного разрешения трансляции в OBS, вы уменьшаете максимальный фпс в игре, который способна выдать ваша видеокарта.

- При стриме на платформу YouTube можно использовать масштабирование за счёт транскодирования. Однако, чтобы получить более чёткую картинку при просмотре в 1440p, то лучше масштабировать в OBS при использовании метода ланцоша или бикубического.
- Для Twtch актуально уменьшать выходное разрешение. Также уменьшение разрешения и частоты кадров при стриме на Twitch позволит получить более качественную картинку за счёт экономии битрейта. Более подробно об этом можно узнать в отдельном
видео.

Бенчмарк в Tomb Raider.

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

Уменьшение частоты кадров видео положительно влияет на производительности в играх при трансляции. Однако, если вы стримите или записываете шутеры, то лучше пожертвовать разрешением, а не плавностью картинки.

Фильтр масштабирования

Фильтр масштабирования работает, только когда выходное разрешение отличается от базового. При использовании кодировщика Nvenc влияние на производительность косвенное.

Меры для повышения производительности

1. Первое, что я рекомендую сделать, это выполнить оптимизацию OBS.
2. Если вы по прежнему используйте Windows 7 (OBS 27.2.4), то вы можете терять до 66% производительности в играх при кодировании видео. Это обусловлено тем, что Windows 7 не имеет поддержки обновленного кодировщика NVENC H.264. Будет использоваться старая реализация.
3. Рассмотрите возможность разгона видеокарты, процессора, оперативной памяти и оптимизации Windows.
4. Если во время стрима или записи игры нагрузка на GPU достигает 95-100%, то стоит уменьшить настройки графики в игре.
Ограничить фпс или включить вертикальную синхронизацию.
5. Увеличение выходного разрешения существенно влияет на производительность и нагрузку на кодировщик. Попробуйте его уменьшить, в особенности, если это трансляция для twitch.
Для YouTube используйте решение из
статьи.
6. Уменьшение частоты кадров видео также увеличивает производительность в играх и снижает нагрузку на кодировщик.
Twitch и YouTube поддерживают частоту кадров 60, 50, 30 к/с.
7. Если вы используйте кодировщик x264, то изменение пресета значительно влияет на производительность, но и на качество.
8. Отключайте предпросмотр в OBS, либо задайте горячую клавишу для его отключения. Это повысит плавность и стабильности игры.
9. Вы можете отключить веб-камеру, чтобы еще больше повысить производительность, если это критично.
10. Не используйте мгновенный повтор в OBS или запись видео во время трансляции, если испытываете серьезные проблемы с потерей производительности в игре. Для записи видео во время трансляции лучше использовать
Nvidia Shadowplay.
11. Предпочтительно производить захват игры, а не экрана.
12. Если частота обновлений ваших мониторов разная, то это также может вызвать проблемы с производительностью при работе OBS на втором мониторе. Попробуйте переместить OBS на основной монитор, чтобы проверить изменения фпс в игре.

13. Стоит отказаться от Nvidia Broadcast, Nvidia Ansel и других подобных приложений, т.к они существенно могут уменьшить фпс в играх.
14. Отключите оверлей Nvidia GeForce Experience, если его не используете.

-21

15. Попробуйте отключить аппаратное ускорение в OBS.

-22

16. Количество источников больше влияет не на производительность, а на потребление оперативной памяти.
17. Изменение битрейта не влияет на производительность!
18. Попробуйте отключить оверлеи в приложениях. Например, это оверлей в Discord, Overwolf и т.п.
19. Проверьте ПК на вирусы. Для этого можете использовать
сборник из антивирусных сканеров. Используйте несколько.
20. Используйте кратное значение герцовки монитора 60, 120 Гц.
21. Включите вертикальную синхронизацию для OBS в панели управления NVIDIA.
22. Задайте в разделе видео не целое значение фпс, например, 59.94

Заключение

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

Youtube | Twitch | ВКонтакте | Поддержать автора