• Почему моя игра тормозит во время стриминга?

На прошлой неделе, когда я стримил на ПК в 4k, я заметил, что не могу получить стабильные 60 кадров в секунду.

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

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

После того, как я щелкнул то, что казалось каждым графическим переключателем, и так много возился с OBS, он даже больше не запускался (серьезно, мне пришлось переустановить его). Я все еще не мог убрать лаги из игры.

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

Вот что я нашел ...

Почему моя игра отстает при потоковой передаче?Есть ряд причин, по которым ваша игра тормозит во время стрима. К ним относятся:

  • ЦП или графический процессор неправильно выбран для кодирования потока
  • У вас слишком высокое разрешение потоковой передачи
  • Вы смотрите трансляцию на одном компьютере во время игры
  • У вас работает несколько мониторов
  • Битрейт потоковой передачи слишком высок
  • Ваша потоковая частота кадров слишком высока
  • Ваше интернет-соединение слишком медленное
  • Вы запускаете слишком много программ в фоновом режиме
  • Настройки графики и игрового процесса в вашей игре слишком высоки

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

Хорошо, приступим…

Проблема 1: для кодирования потока выбран процессор, а не графический процессор

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

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

Это часто случается со мной, если я пытаюсь транслировать стратегическую игру в реальном времени, такую ​​как Ashes of the Singularity (AtS). AtS - это игра, сильно зависящая от процессора, а это значит, что ей нужен лучший процессор больше, чем мощная видеокарта.

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

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

Решения

  1. Зайдите в свое потоковое программное обеспечение, такое как OBS, и смените кодировщик с CPU на GPU. Это переместит кодировку с CPU на GPU, освобождая CPU для сосредоточения на игре.
  2. Если переключение на графический процессор не вариант, скажем, у вас старый графический процессор, попробуйте снизить разрешение игры / частоту кадров / графику. Это поможет освободить больше ресурсов ЦП для кодирования.
  3. Уменьшите битрейт / частоту кадров / разрешение потока. Позже мы рассмотрим каждый из них более подробно. Но в основном снижение каждого из них снизит стоимость кодирования потока для вашего процессора.
  4. Если у вас есть ресурсы, попробуйте собрать и использовать выделенный компьютер для потоковой передачи.
  5. Обновите свой процессор.

Проблема 2: для кодирования потока выбран графический процессор (видеокарта), а не процессор.

Хорошо, это противоположно проблеме с процессором, описанной выше.

Большинство игр в наши дни, по крайней мере, 90%, привязаны к графическому процессору. Это означает, что максимальная частота кадров в игре определяется графическим процессором. Обычно это означает, что использование видеокарты максимально эффективно.

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

К счастью, как и в случае с центральным процессором, у этой проблемы есть несколько решений.

Решения

  1. Зайдите в свое потоковое программное обеспечение, такое как OBS, и смените кодировщик с GPU на CPU. Это переместит кодирование с GPU на CPU, освободив GPU для сосредоточения на графике.
  2. Если переключение на ЦП в качестве кодировщика невозможно, возможно, ваш ЦП довольно старый, попробуйте снизить разрешение / частоту кадров / графику в игре. Это поможет высвободить больше ресурсов для графического процессора для кодирования.
  3. Уменьшите битрейт / частоту кадров / разрешение потока. Позже мы рассмотрим каждый из них более подробно. Но в основном снижение каждого из них снизит стоимость кодирования потока для вашего графического процессора.
  4. Если у вас есть ресурсы, попробуйте собрать и использовать выделенный компьютер для потоковой передачи.
  5. Обновите свой графический процессор.

Проблема 3. У вас слишком высокое разрешение потоковой передачи.

Ваше разрешение потоковой передачи - это разрешение видео, которое вы отправляете через Интернет.

Это отдельная сущность от вашего игрового разрешения.

Например, вы можете играть в Doom с разрешением 1440p, но вы кодируете поток с разрешением 1080p.

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

  1. Чем выше разрешение потока, тем больше ресурсов CPU / GPU потребуется для кодирования в реальном времени. Например, поток с разрешением 4k требует примерно в 2-4 раза большей вычислительной мощности для кодирования более 1080p.
  2. Разница между разрешением вашей игры и разрешением потоковой передачи может увеличить ресурсы, необходимые для кодирования потока. Например, если вы играете в формате 4k, но хотите понизить разрешение до 1080p для своего потока, кодировщик должен в реальном времени выполнить повторную выборку каждого пикселя. Итак, вы хотите точно соответствовать разрешению потоковой передачи.

Так как же решить эти проблемы?

Решение

  1. Уменьшите разрешение потока.
  2. Уменьшите разницу между разрешением вашего игрового процесса и разрешением потоковой передачи.
  3. Обновите свой графический процессор или процессор, что бы вы ни использовали для кодирования потока.
  4. Если для вас важно разрешение, попробуйте уменьшить другие аспекты потока, такие как битрейт и частота кадров.
  5. Попробуйте уменьшить графические / игровые настройки игры, чтобы освободить вычислительные ресурсы на вашем CPU / GPU.

Проблема 4: вы смотрите свой собственный поток на том же компьютере во время игры.

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

Фактически, разница между кодированием и декодированием живого потока незначительна, поскольку они в значительной степени идентичны процессам, они просто учитываются по порядку в зависимости от того, кодируете ли вы или декодируете (смотрите потоковую передачу).

Если ваша кодировка, информация сжимается и кодируется. Если ваша информация о декодировании декодируется, а затем не сжимается.

И все это происходит за доли секунды.

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

Однако есть несколько простых решений.

Решение

  1. Вместо того, чтобы смотреть поток на том же компьютере, попробуйте смотреть его на отдельном устройстве, например, на дешевом ноутбуке, планшете, таком как iPad, на телефоне или на телевизоре с помощью огненной палки. Это освободит те ресурсы, которые были бы связаны с процессом декодирования.
  2. Я не рекомендую это делать, но вы можете купить еще более мощный графический процессор или процессор. Но, учитывая, что приведенное выше решение настолько просто и легко для большинства, я бы не рекомендовал его.

Проблема 5: у вас работает несколько мониторов

Второй монитор, работающий на вашем игровом ПК, на самом деле требует изрядного количества ресурсов только для отображения рабочего стола Windows. Вы можете подумать, что «ничего особенного не происходит», но этот экран, который, вероятно, работает с разрешением 1080p, все еще обновляется вашим графическим процессором и процессором 60 раз в секунду.

Ресурсы вашего процессора / графического процессора напрасно испаряются, когда второй монитор бездействует.

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

Может показаться, что это не так уж много, ведь 5 кадров в секунду - это ничто, верно?

Что ж, на самом деле это может иметь большое значение.

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

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

Решение

  1. Отключите второй монитор, если вы его не используете.
  2. Если вы используете монитор для командных разговоров или какое-либо другое программное обеспечение для связи, уменьшите разрешение и частоту кадров настолько, насколько позволяет монитор.
  3. Используйте Teamspeak на мобильном телефоне или другом устройстве, таком как выделенный дешевый ноутбук, планшет или мобильный телефон.
  4. Если у вас есть деньги, обновите свой графический процессор / процессор. Но я считаю это перебором. Просто отключите монитор и используйте другое устройство вместо того, что вы обычно используете на втором мониторе.

Проблема 6: ваш потоковый битрейт слишком высок

Битрейт потока - это максимальный объем данных, который разрешено использовать потоку при отправке через Интернет.

Например, поток 1080p, 60 кадров в секунду часто будет иметь битрейт около 6000 килобит. Это около 0,75 мегабайта.

Обычно чем выше битрейт, тем выше качество видео. Но есть две проблемы с видео с высоким битрейтом.

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

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

Но есть ряд решений:

Решение

  1. Уменьшите битрейт в меню опций вашего потокового программного обеспечения. OBS позволяет установить битрейт вручную. Однако используйте его с осторожностью, так как вы должны сочетать низкий битрейт с низкой частотой кадров и разрешением. В противном случае вы получите видео с высоким разрешением, которое будет выглядеть грязным и заблокированным, потому что битрейт нормирован для более высокого разрешения.
  2. Уменьшите разрешение вашего потока до 720p. Низкое разрешение по-прежнему может выглядеть великолепно, поскольку большая часть битрейта тратится на обеспечение большей детализации видео. Помните, что когда дело доходит до потоковой передачи с такими разрешениями, важно качество пикселей, а не количество.
  3. Улучшите подключение к Интернету. Я не рекомендую это делать, потому что необходимость смены интернет-провайдера раздражает, поэтому я бы использовал это в крайнем случае.

Проблема 7. Слишком высокая частота кадров потоковой передачи.

Я думаю, мы все можем согласиться с тем, что игры со скоростью 60 кадров в секунду намного лучше, чем 30 кадров в секунду.

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

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

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

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

Так в чем же выход?

Решение

  1. Если вы транслируете со скоростью 60 кадров в секунду, уменьшите вдвое до 30 кадров в секунду.
  2. Уменьшите разрешение. Таким образом, у вас по-прежнему будет высокая частота кадров, но это снизит нагрузку на ваш компьютер и пропускную способность вашего интернета.
  3. Купите более мощный CPU / GPU.

Проблема 8: у вас слишком медленное интернет-соединение

Скорость вашего интернета играет огромную роль в том, будет ли ваша игра тормозить или нет. Но это не отставание, как при низкой частоте кадров. Тип задержки, вызванный низкой скоростью интернета, измеряется в миллисекундах. Итак, когда вы нажимаете кнопку мыши, обычно в течение 30-200 миллисекунд, вы увидите, что действие происходит на экране.

Проблема в том, что когда вы играете через Интернет, вы постоянно синхронизируетесь с сервером. Этот обмен данными требует времени, и реклама «отстает» от вашей игры. Если у вас низкая скорость интернета, этот обмен данными может быть затруднен, а тип ввода между нажатием мыши и действием может увеличиться до четверти секунды.

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

Но как это связано с вашим потоком?

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

Так как же этого избежать?

Решение

  1. Уменьшите битрейт вашего потока.
  2. Уменьшите разрешение вашего потока.
  3. Уменьшите частоту кадров вашего потока.
  4. Если можете, увеличьте скорость вашего интернета.

Проблема 9: вы запускаете слишком много программ в фоновом режиме

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

Интернет-браузеры, программное обеспечение для чатов и даже самая большая системная проблема: антивирусное программное обеспечение, съедают ресурсы, которые можно было бы потратить либо на кодирование вашего потока, либо на увеличение частоты кадров вашей игры.

Серьезно, наличие нескольких программ в фоновом режиме может легко снизить частоту кадров на 10-15 процентов. В этом разница между достижением 60 кадров в секунду или зависанием в середине 55 для заикания слайд-шоу.

И снова решение простое.

Решение

  1. Закройте лишние программы.
  2. Если вам абсолютно необходимо использовать чат или браузер, используйте старый ноутбук. Это намного лучше. Если у вас его нет, взгляните на Amazon. Пару лет назад я купил Lenovo T420 менее чем за 150 долларов с установленной Windows 10. Да, он старый, но работает без сбоев и отлично работает в качестве моего концентратора связи и браузера при потоковой передаче.
  3. Если вам абсолютно необходимо, чтобы все эти программы были открыты, увеличьте объем оперативной памяти с 8 ГБ до 16 ГБ и обновите процессор, чтобы у вас было больше ядер, доступных для использования в различных программах. Например, моим старым процессором был 4-ядерный Intel i5. Но я обновился до AMD Ryzen 3900X, который имеет 12 ядер и 24 потока. И это решило все мои проблемы. Хотя я думаю, что лучше всего просто закрыть программы.

Проблема 10: настройки графики / игрового процесса в вашей игре слишком высоки

Хорошо, я понял, у вас есть модный новый RTX 2070, и вы хотите, чтобы все графические элементы были включены, включая трассировку лучей в 4k.

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

Проблема в том, что когда вы пытаетесь увеличить всю графику до настройки «UBER», вы потребляете все ресурсы, необходимые вашему компьютеру для кодирования вашего потока.

Таким образом, кодирование и игровой процесс конкурируют за ресурсы, что часто приводит либо к заиканию потока, либо к значительному падению частоты кадров.

Решение

  1. Когда дело доходит до графики, у вас есть несколько вариантов. Опустите некоторые из них. Вы не заметите разницы между высокой и сверхвысокой трассировкой лучей, когда вступите в бой. Итак, немного отбросьте графические настройки, верните немного времени вычислений, чтобы ваш поток был правильно закодирован, чтобы ваша игра могла работать с более высокой частотой кадров.
  2. Сбросьте разрешение игры. Тебе не нужно 4к. 1440p в порядке. Когда все движется, вы не заметите разницы.
  3. Купите более мощную видеокарту / процессор.

Вывод

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

Напоминаем, что большую часть вышеперечисленных проблем можно решить следующими способами:

  1. Уменьшите графические настройки игры, чтобы освободить ресурсы для работы с более высокой частотой кадров.
  2. Уменьшите разрешение вашего потока
  3. Уменьшите частоту кадров вашего потока
  4. Уменьшите битрейт вашего потока
  5. Переходите на более мощный процессор
  6. Переходите на более мощный графический процессор
  7. Используйте выделенный компьютер для потоковой передачи с картой захвата.
  8. Купите дешевый подержанный ноутбук, чтобы запускать фоновые программы. (Например, чат и интернет-браузеры).
  9. Запускайте второстепенные программы на своем мобильном телефоне или планшете
  10. Повысьте скорость вашего интернет-соединения

Что дальше?

Каковы минимальные характеристики ПК для потоковой передачи?Минимальные спецификации для потокового ПК действительно зависят от ряда факторов, в том числе от игры, в которую вы хотите играть, разрешения, с которым вы хотите играть / транслировать, битрейта вашего потока и частоты кадров вашей игры / потока. . Чтобы подробно ознакомиться с минимальными характеристиками для ПК с потоковой передачей, прочтите нашу статью здесь.

Лучше ли иметь выделенный компьютер для потоковой передачи?Я бы сказал, что лучше иметь выделенный компьютер для потоковой передачи просто потому, что кодирование потоков - это большая нагрузка для вашего ПК. Сохраняя кодировку потока на выделенном ПК для потоковой передачи, вы высвобождаете ресурсы для повышения качества потока на ПК для потоковой передачи и увеличения частоты кадров / разрешения игры на игровом ПК. Так что всегда лучше держать их отдельно.