Rockbass
@Rockbass
this.skills.javascript = ["typescript", "nodejs"]

Связь кадровой частоты и частоты развертки или бывает ли больше 60 fps?

Всем привет :-)
У нас тут в офисе на обеде возник жесточайший спор по поводу сабжа: известно, что частота развертки большинства мониторов установлена в 60 Гц. Известно о существовании популярного в играх (и не только) параметра кадровая частота (FPS).
Суть вопроса в чем: требуется предоставить аргументы, доказывающие или опровергающие утверждение о том, что на этом самом "большинстве мониторов" невозможно увидеть/почувствовать разницу, если FPS больше частоты развертки.
В целях чистоты эксперимента, допустим, что железо у нас топовое и в исследумых играх без включенного vsync цифры fps всегда больше.

уточню вопрос: допустим, что частота обновления ЖК-монитора установлена в 60 Гц. Что происходит на самом деле, когда мы видим в игре, допустим, 100 fps (здесь можно подставить любое значение >60) ?
  • Вопрос задан
  • 5599 просмотров
Решения вопроса 1
@moozooh
Chief Technical Grammar Nazi
Частота обновления монитора — то, сколько разных кадров он способен отобразить за секунду. Частота кадров в играх — то, сколько кадров за секунду отправляет на монитор видеокарта. Должно быть очевидно, что, если монитор может обновлять изображение только 60 раз в секунду, то, хоть убейся, видимой разницы не будет. Она будет, только если подключить монитор с расширенной развёрткой (существуют игровые ЖК-мониторы на 120 Гц, например, или ЭЛТ, где этот параметр на низких разрешениях мог доходить до 250 Гц) или попробовать разогнать матрицу; сильного прироста это не даст, но риск её испортить — есть. Обычно матрицу разгоняют, чтобы довести её до частоты, кратной 23,976 (например, 71,928 Гц) чтобы можно было смотреть фильмы без подёргивания; критичного прироста плавности в играх этим не добиться, а если она таки позарез нужна, то следует просто купить монитор на 120+ Гц.

Чем может быть полезно повышение частоты кадров относительно частоты развёртки:
1) уменьшается погрешность задержки вывода кадров (чисто гомеопатически — гораздо сильнее влияет матрица монитора, тип его подключения, частота опроса порта, к которому подключены устройства ввода, буферизация в настройках видеокарты и т. д.), которая в особо динамичных играх может ощущаться в виде задержки реакции на нажатие кнопки;
2) в некоторых играх повышается точность/гранулярность обработки происходящих событий (например, физики передвижения, как в Half-Life) и искусственного интеллекта;
3) разогретая видеокарта создаст уют в холодный зимний вечер, а батарея ноутбука раньше напомнит вам о существовании реальной жизни.

Ну и стоит помнить, что счётчик кадров в секунду показывает текущее или среднее значение; в идеале железо должно обеспечивать эту частоту на уровне не ниже развёртки монитора во всех ситуациях — без просадок. Поэтому правильным решением будет снизить настройки графики в игре до того уровня, при котором fps никогда не опускается ниже 60, и затем ограничить значение сверху при помощи RivaTuner или чего-нибудь подобного, чтобы электричество и ресурс железа почём зря не жечь.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Jump
@Jump
Системный администратор со стажем.
Разницу почувствовать можно.
По той простой причине, что частота обновления монитора постоянная, а FPS это усредненная величина.
100 FPS - это не значит что каждую сотую долю секунды генерируется новый кадр.
Это значит что один кадр может генерироваться пол секунды, а потом 99 кадров за следующую половину секунды.

Так что смысл в повышении FPS есть вне зависимости от частоты обновления монитора.
Ответ написан
Комментировать
@kazmiruk
Вообще не очень шарю в этом деле, но как минимум есть мониторы с поддержкой 3D, который выдают 120 Гц и более (это к Вашему ответу на комментарий). А в качестве аргументов - человеческий мозг обрабатывает информацию от глаз в среднем за 13 мс (нагуглил в первой попавшейся статье), что дает нам примерно 77 кадров в секунду. Соотвественно, разницу между 60 и 77 FPS при мониторе с частотой 120 Гц человек должен заметить. Но по своему опыту скажу, что разницу между 40 и 60 FPS я уже не замечаю. Если картинка не тормозит, то для меня она одинаково хороша и в 40 FPS и в 1000. Хотя отдельные личности видят как перед глазами перерисовываются кадры, если FPS ниже 60.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
На ЭЛТ мониторе лично я вижу разницу между 70 и 85Гц. И да, FPS и развертка монитора - не одно и то-же.
В интернетах полно видеороликов с разным FPS, чтоб потестить. Или вот эмулятор: https://frames-per-second.appspot.com/

В играх, емнип, средний человек перестает ощущать прирост FPS примерно с 50-60 кадров. Но большинство, а не все.

Если FPS не совпадает с частотой обновления монитора, то возможны артефакты на динамичных сценах.
Для избавления от этих эффектов придумывают всякие хитрые штуки типа www.geforce.com/hardware/technology/adaptive-vsync
Ответ написан
Комментировать
@nehrung
Не забывайте кликать кнопку "Отметить решением"!
Для получения полноценного ответа от вас требуется уточнение вопроса. Как я понял, FPS привязано сюда исходя именно из частоты обновления буфера изображения применяемого софта (конкретно - игрушки, где это задано требуемым качеством картинки, или видеоплэера, в котором частота кадров задаётся проигрываемым видеороликом/фильмом: 24, 25, 30, 60 кадров/сек). Но тогда вы должны задать, имеется ввиду окно или полный экран. Дело в том, что в оконном режиме кадровая частота полностью определяется настройками видеодрайвера ОС. Если же игруха открывается в полноэкранном режиме, то зачастую драйвер ОС подменяется видеодрайвером, встроенным в неё, со своими отдельными настройками, определяемыми заказанным качеством картинки и производительностью железа (по крайней мере, так было в старинных, наподобие Варкрафта-2).
В 1 случае FPS системы никак не связан с FPS программы. Во 2 случае это наверняка будет одно и то же. Хотя могу и ошибаться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы