Адептам "120 ФПС на 60-герцовом мониторе" посвящается

Здравствуйте. На написание этого блога меня вдохновила тема на форуме, в которой обсуждалось, влияет ли на комфортность игры количество кадров в секунду (к/с), выдаваемых видеокартой (назовём его для краткости - фреймрейт) если оно выше частоты кадров, которую может отобразить монитор. Давайте попробуем разобраться, какой фреймрейт комфортнее на 60-герцовом мониторе: 100  кадров в секунду без ограничений или 60 с вертикальной синхронизацией. Так ли заметно увеличение фреймрейта выше 60 к/с, или это просто самовнушение? Попробую объяснить "на пальцах", не вдаваясь в технические подробности.
Для начала вспомним, как подготавливается и отображается кадр.
Сначала система опрашивает органы управления - клавиатуру, мышь, геймпад и т.п. Затем на основе этих данных начинается рассчёт кадра. Когда он закончится, готовое изображение попадает в кадровый буфер видеокарты, откуда уже передаётся на монитор для отображения. Далее система снова опрашивает органы управления, и процесс повторяется. Рассмотрим 3 случая:

  • 1. Фреймрейт ниже частоты монитора (36 к/с).
  • 2. Теоретический фреймрейт выше частоты монитора (100 к/с), но ограничен вертикальной синхронизацией на 60 к/с.
  • 3. Фреймрейт 100 к/с, без ограничений.

Время отрисовки кадра монитором я приму равным времени периода одного кадра. На самом деле, оно может сильно отличаться как в большую, так и в меньшую сторону. Оно складывается из времени передачи изображения к монитору, задержки на буферизацию, времени отклика матрицы. Чем выше разрешение картинки, тем дольше она будет передаваться по кабелю. Для Full-HD это чуть меньше периода кадра. Для меньших разрешений, соответственно, меньше, для больших - больше. Задержка буферизации сильно отличается у разных моделей и может составлять от нескольких миллисекунд до десятков и даже сотен. Так же и время отклика матрицы может варьироваться от 2-3 до 12-20 мс. Чтобы исключить все эти условности я буду считать время отрисовки кадра монитором равным 17 мс. Почти идеальный монитор. Для удобства восприятия разные кадры раскрашены разными цветами.

На первом рисунке ниже представлен первый случай, фреймрейт 36 к/с.

На первом графике вверху показано время опроса органов управления (Упр.), внизу время отклика (Откл.) в миллисекундах. На втором графике показано время рассчёта кадров системой, штрихом показан момент передачи изображения в кадровый буфер. На третьем графике показан процесс передачи данных к монитору и отображение кадра. Разница между моментом опроса органов управления и моментом появления готовой картинки на мониторе - есть время отклика, показанное цифрами на первом графике. Итак, из графика видно, что часть кадров показывается на мониторе дважды, часть - один раз. Из-за этого изображение выглядит дёрганым и ощущается некомфортно. Среднее время отклика 50 мс.

На втором рисунке представлен второй случай. Включена вертикальная синхронизация, фреймрейт 60 к/с.

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

Но что будет, если мы отключим вертикальную синхронизацию? Станет ли играть комфортнее? На третьем рисунке представлен третий случай. Вертикальная синхронизация отключена, система выдаёт свои максимальные 100 к/с.

На первом графике видно, что среднее время отклика немного снизилось, и казалось бы, играть будет комфортнее. Но что случилось с плавностью картинки? На третьем графике видно, что монитор всё так же показывает свои 60 кадров в секунду. И часть кадров, выдаваемых системой он пропускает. Как это скажется на плавности? Допустим, вы плавно поворачиваете камеру. За каждый кадр, выдаваемый системой, камера поворачивается на 5 градусов. А монитор показывает кадры 1-3-5-6-8-10-11-13-15-16-18. Таким образом, камера на экране монитора поворачивается на 10-10-5-10-10-5-10-10-5-10 градусов. Понятно, что изображение при этом будет идти не плавно, а с рывками, хоть и менее заметными, чем при низком фреймрейте. С включённой же вертикальной синхронизацией камера будет плавно поворачиваться на 8 градусов за кадр.
Кроме того, пользователя в этом случае подстерегает ещё одна проблема. Дело в том, что изображение на монитор передаётся не мгновенно, а занимает до половины периода кадра при FullHD и даже больше при более высоких разрешениях. Если в момент передачи текущего кадра видеокарта досчитает следующий и загрузит его в кадровый буфер, то монитор получит часть первого кадра и часть второго. Из-за этого на изображении появляются неприятные разрывы.

Выводы.

С включённой вертикальной синхронизацией изображение движется плавно, без рывков. С выключенной немного снижается время отклика на действия игрока, но движения становятся менее плавными и появляются разрывы изображения. Стоит заметить, что при низком фреймрейте, его увеличение до 60 к/с даёт весьма ощутимое улучшение отклика и плавности. Так, увеличение фреймрейта с 36 до 60 к/с (на 67%)  снизило время отклика на 17 мс с 50 до 33 мс, на 33%. В случае же повышения фреймрейта с 60 до 100 к/с (на те же 67%), время отклика снижается всего на 3 мс или на 9%, с 33 до 30 мс. Заметно ли это на глаз? Я сомневаюсь. В противовес мы получаем рывки, разрывы изображения, большее энергопотребление и нагрев системы, повышение шума и уменьшение ресурса. Стоит ли игра свеч, пусть каждый решает сам для себя. А что вы думаете по этому поводу?

Нравится27
Комментарии (37)
  • 50
    В сетевых шутерах ниже 100 фпс вообще нечего делать на все остальное хватает 60 кадров
  • 15
    В современном неоптимизированном говне синхронизацию включать - себе дороже.
  • 17
    Kamishini1993
    ты серьезно видишь разницу между 60 и 100 кадрами? Твой глаз успевает запечатлеть разницу между 60 и 100?
  • 9
    Да от игры ещё многое зависит. В батле вобще не чувствую никаких рывков с откл. всунк. Очень плавно всё. А вот в фар круе примал там наоборот, дерготня начинается. В деус экс менкинд дивидед тоже рывки во всю без всунка
  • 12
    На глаз - разницы 0. А вот инпутлаг чувствуется. В том же Overwatch 90+ фпс комфортнее.
  • 24
    ХЗ, мне хватает 60 с вертикалкой. Хотя 120 на 120 герцовом монике наверняка лучше.
  • 9
    Kamishini1993, вот только толку от них на 60-герцовом мониторе? Я постоянно играю в CS:GO и постоянно читаю вонь, что менее чем 100 кадров - это не играбельно.

    Вот только сколько тестировал, что при 60, что при 300 FPS - разницы ноль. Так что в итоге заблокировал на 70 и пускаю мимо ушей эти пустые россказни про инпутлаг. А бессмысленно нагружать видеокарту особо не желаю.
  • 0
    Есть способы залочить фпс и без вертикальной синхронизации, плюс сейчас есть моники которые поддерживают Gsync, в которой если не ошибаюсь, нет задержки отклика.
    Я играю на 60герц. монике и в "легких" играх бывает под фпс под сотню.
    Разрывов честно говоря никогда не видел, даже если они и есть - я их не замечаю.
  • 0
    Бомбардировщик
    Бомбардировщик написал:
    120 на 120 герцовом монике наверняка лучше.

    Может и лучше, но в современных играх типа ведьмака 3 ты эти 120 фпс не увидишь даже на титане.
  • 10
    Damnash
    ну в ведьмаке они и не нужны а вот во всяком сетевом рубилове типа контры да тим фортерса 120 фпс достижимы
  • 2
    Много ненужной инфы,если моник 60 герц,то он соответственно и обновит картинку 60 раз в секунду,даже если ФПС будет показывать 70-80 и тд.Все просто.
  • 4
    Читал я сию статью, но так и не понял: при игре на 120 Гц мониторе в игру, у которой стоит ограничение на 60 к\сек, будет ли заметно улучшение изображения или можно тупо выставить в настройках монитора 60 Гц и не заметишь никакой разницы?
    Субъективно, отличия есть и весьма заметные. То есть при игре на 120 Гц мониторе, но с искусственным ограничением кадров в секунду не более 60 глаза чувствовали себя комфортно, но стоило мне выставить 60 Гц и те же 60 FPS буквально через пару минут вызвали неприятные ощущения в глазах.
  • 4
    warp 37 написал:
    В современном неоптимизированном говне синхронизацию включать - себе дороже.

    Зависит от того, сколько кадров процессор заранее подготавливает для видеокарты. Если больше одного (двойная, тройная буферизация), то задержка ввода будет хорошо ощущаться и сильно мешать. Но часто эти настройки недоступны. Лучше включать адаптивную синхронизацию в панели управления Нвидиа.
  • 5
    Filis
    На любом мониторе лучше если комп выдаёт фпс не меньше, чем поддерживает монитор.
    Т.е. на 120-герцовом монике 120 фпс лучше, чем 60. Но в блоге я рассматривал только случаи с 60-герцовыми.
  • 0
    Глаз врядли заметит разницу между 60 fps и 120fps. Но вот, как правильно подметили выше, импут лаг чувствуется конкретный. Для людей далеких от сетевых шутеров скажу проще, вам станет чуть чегче, быстрее и точнее прицелиться, если играть на 60 герцовом мониторе со 120 fps, чем с 60 fps. Особенно это критично в шутерах с бешеной динамикой, по типу Овервотча, там каждая милисекунда важна.
  • 4
    По своим наблюдениям, при 60 фпс, с включенной вертикальной синхронизацией, в некоторых играх чувствуется плавность мыши, допустим в шутерах, и это довольно не комфортно. Как будто включено сглаживание мыши. При фпс 100 или более, мышь чувствуется более управляемой, но на 60 герцовом мониторе больше 60 кадров не чувствуется, т.е. кажется что не 100 фпс, а все те же 60. Заметна разница только на отклике устройств ввода.
  • 3
    Тут нечего обсуждать.
    Если включить Vsync то будет задержка ввода, что для сетевых шутанов и для многих сингловых неприемлемо, а если просто ограничить 60фпс то будут жуткие разрывы.
    Вывод: При 100фпс задержка меньше и разрывы меньше, тут вообще без вариантов.
  • 0
    Derek_Chisora
    (input lag) загугли и не позорься.
  • 0
    Derek_Chisora
    input lag это задержка ввода, игра будет вяло реагировать на движение мыши и нажатие клавиш и это вообще никак от монитора не зависит.
  • 0
    AdroV
    Выше я уже ответил варпу, что это зависит от настроек игры и типа буферизации. Я и сам отключал В-синх в Фар Край 3 и 4. Была очень большая задержка ввода. А, например, в Фоллаут 4 и КСГО включение В-синх не влияет по ощущениям на задержку ввода.
  • 0
    Derek_Chisora
    Ну ты приколист, почитай про Vsync и её недостатки.
  • 3
    Все моники. кроме LG, SAMSUNG, ViewSonic и AOC - не способны выдавать тот FPS что выдает наш комп... ибо их реальный FPS ограничен очень древним значением 59,97... и только в режиме 720р выдают 60 кадров... что бы вам не впаривали технари, чтобы не писали утилиты, чтобы не показывал монитор - реальные цифры именно таковы.
    Особенностью этого является причина использования старой LG матрицы, которую сейчас ворошат только так... создавая всякие IPS, AH-IPS, VA и т.д. А ведь уже давно есть новая LG матрица, которая давно способна выдавать Любую картинку, которую дает ПК, без рывков, разрывов, и при этом передавая "истинные" цвета. Аля Тру-блэк и Тру-Вайт, ноу блю и тд тп...)
    Вся проблема в консерватизме. В итоге - побеждают те производители, что "изобретают" свои матрицы, и ставят на них Свой софт.
    Но первые и лучшие - это LG... их матрицы - во всех мониках ( правда очень старые ). В своих мониторах - они используют только самые передовые и самые качественные технологии.
  • 0
    nikita2112, в CS:GO есть V-Sync и просто блокировка фреймрейта (энергосберегающий режим в настройках). И если второй никак не влияет на ощущения, то первый всё же влияет на геймплей - слишком плавные движения мыши.

    В играх Bethesda V-Sync включён по-умолчанию, так как при анлоке могут возникать проблемы с физикой (взлом замков, например).

    Да и вообще, синхронизацию, на мой взгляд, есть смысл включать лишь в синглплеерных играх - но только при условии, что карта выдаёт фреймрейт выше частоты обновления монитора. Ибо при просадках, V-sync растягивает их на ещё несколько кадров вперёд.
  • 1
    Ruv1k
    Во-первых, давай без оскорблений.
    Во-вторых, увеличив ФПС с 60 до 120 ты уменьшишь задержку максимум на 8 мс. При этом инпут-лаг самого монитора в среднем 20-50 мс, добавь сюда время отклика пикселя 3-10 мс, добавь время передачи картинки от видеокарты до монитора 5-10 мс, добавь время расчёта кадра 8 мс (при 120 фпс). Сколько там набежало? 36-78 мс. Если речь идёт про сетевые шутеры, не забудь пинг добавить 20-50 мс. Ах, да, про тикрейт не забудь. Он тоже задержку даёт. В итоге мы имеем разброс задержки ввода до от 56 до 128 мс. И твои выигранные 8 мс от 120 фпс здесь не так уж заметны. Может про-игрок и почувствует разницу, но я не особо ощущаю.
    Мы в универе замеряли время реакции людей. Нужно было нажать на кнопку когда загорится лампочка. Точных цифр не помню, но у всех результаты были выше 100 мс. Около 200, если мне не изменяет память. Так что твои 8 мс будут ещё менее заметны на этом фоне.
  • 0
    nikita2112
    Ты умудрился совместить несовместимое.
    Поясни тогда почему в CS 1.6 при 100 фпс инпутлаг почти отсутствует, а в BF1 при 120 фпс инпутлаг пол дня?

    nikita2112 написал:
    Точных цифр не помню, но у всех результаты были выше 100 мс. Около 200, если мне не изменяет память. Так что твои 8 мс будут ещё менее заметны на этом фоне.

    Ты понимаешь вообще что ты сравниваешь? Сравниваешь вывод кадра на экран с восприятием человеческого глаза. Механический инпутлаг, который с мышки, когда управление будто в масле, когда трекинг напрочь убит парашным движком игры, вообще никак не связан с восприятием человеческого глаза и фпс который выше 60 при 60 герцовом мониторе увидеть нельзя. Это все и так знают что фпс выше герцовки монитора - не заметен, но немногие знают что высокий фпс снижает инпутлаг с мыши, как и перекройка метода ввода с мыши.
    Почему в играх с OpenGL инпутлаг в 20 раз меньше, чем в любой игре на DirectX, не смотря на одинаковый ФПС?
  • 0
    Плотва of Rivia
    В играх юбисофта проблемы с этим. Начиная с 3 части Assassin's Creed и далее.
  • 1
    Эх не шарите вы все. Срача тут развели. Спрашивайте, объясню что и как
  • 3
    Димка Ребров
    Да вы угораете?! Херли вы минусуете правду, у человека зрение больше 1000 кадров в секунду, ну а по поводу игр вы хотите, чтобы человек видел разницу между 60 и 100, да не видит он разницы!!! Епт, школьники одумайтесь прежде чем минусовать! А прочтите учебник по биологии за 6 класс, там как раз про человеков всё рассказыват xD
  • 0
    Вы увели тему в срач про инпутлаг. А основная мысль блога совсем в другом. Просто на форуме один чел говорил, что на 60-герцовом мониторе "на глаз" очень заметна разница между 60 и 80, 80 и 100 фпс. В блоге я объяснил, что разница между 60 и 100 фпс на мониторе не видна, ибо он всё равно показывает 60 кадров в секунду. Задержка ввода при этом за счёт более быстрой подготовки кадра снижается всего на 3 мс и "на глаз" её вряд ли кто заметит.
  • 0
    Олдфаги никогда не включали V-SYNC, это всегда считалось уделом консольщиков и школоты. Собственно, как и всякие "размытия в движении". Только истиный геймплей, только хардкор. И, да, школоте не понять.
  • 0
    Ruv1k
    Сейчас бы фпс повышал частоту опроса мыши... Для незнающих - в мышах и клавах есть своя частота опроса, и от фпс она никак не зависит, на Гц надо смотреть. Хоть у тебя будет 5000фпс, мышь всё равно на своей частоте работать будет, поэтому инпут лаг с фпсом не связан, да и опять же - выигрывать 3-5мс благодаря разрывам картинки, как на 30 фпс - ну не стоит это того
  • 0
    Filis
    При 60фпс на 100Hz меньше устают глаза это проверенно !
  • 0
    Ruv1k
    Ты еще забыл проводная мышка быстрее ))))
  • 0
    Burglar2k
    Олдфаги играли в 100фпс на 85Hz мониторе
    Ньюфаги играют в 100фпс на 60Нz мониторе )))
    Мир какой-то не такой стал ((((
  • 0
    nikita2112
    nikita2112 написал:
    Вы увели тему в срач про инпутлаг. А основная мысль блога совсем в другом. Просто на форуме один чел говорил, что на 60-герцовом мониторе "на глаз" очень заметна разница между 60 и 80, 80 и 100 фпс.

    Не может быть заметно, тут я согласен.

    Alxmo
    Alxmo написал:
    Сейчас бы фпс повышал частоту опроса мыши... Для незнающих - в мышах и клавах есть своя частота опроса, и от фпс она никак не зависит, на Гц надо смотреть.

    Иди мат.часть учи, путаешь теплое с мягким.
  • 0
    Зачетный блог получился. Автору респект.
  • 0
    Импутлаг при вертикальной синхронизации можно убрать почти полностью программой NvidiaInspector, нужно в ней 58-59 кадров ограничение выставить. Человеческий глаз может видеть разницу между 120 и 180 кадрами в сек, и уж тем более между 60 и 100.
B
i
u
Спойлер