что значит частота кадров в игре
Оптимальная частота кадров в играх
Любимые темы для споров всех ПК-геймеров – графика и частота кадров, и в данной статье мы остановимся на последней. А именно на том, какая частота кадров для игр оптимальна – и существует ли подобное значение вообще.
Короткий ответ
Обычно 30 кадров в секунду – минимальное значение для сохранения играбельности. Однако, большинство геймеров согласится с тем, что идеальным значением, пожалуй, будет 60 кадров в секунду благодаря большей плавности. А вот более высокие трехзначные значения частоты кадров реально важны лишь для соревновательной игры, хотя некоторым даже в одиночных играх нравится большая отзывчивость.
Естественно, частота кадров зависит от нескольких факторов: мощности железа, оптимизации игры, разрешения, графических настроек и т.д. Более того, у каждого свое мнение о том, какую частоту кадров можно считать «играбельной» и насколько нужны более высокие значения.
Итак, давайте разберемся.
Что такое частота кадров?
В сущности, частота кадров – это количество изображений, которые видеокарта способна вывести в единицу времени. Как правило, она измеряется в кадрах в секунду и часто обозначается аббревиатурой FPS, расшифровка которой (frames-per-second) так и переводится.
Например, если игра выдает один кадр в секунду, то каждую секунду вы будете видеть всего одно изображение. Это больше похоже на слайд-шоу, чем на процесс в реальном времени, и совершенно неиграбельно. Поэтому в целом, чем больше кадров отображается каждую секунду, тем плавнее выглядит результат.
Диапазоны частоты кадров
Человеческий глаз – очень тонкий орган, но он практически не способен различить разницу на пару кадров в секунду. Поэтому, а также в связи с обусловленными железом стандартами, частота кадров обычно округляется до следующих значений:
Имейте в виду, что чем выше частота кадров, тем тяжелее человеческому глазу заметить разницу. Например, большую плавность при 60 кадрах в секунду по сравнению с 30 кадрами в секунду сможет заметить почти каждый, а вот различие между 120 и 240 FPS часто тяжело увидеть, даже если мониторы поставить рядом.
Какая частота кадров оптимальна для игр?
И вот мы, наконец, добрались до заглавного вопроса. Однако, ответить на него однозначно попросту невозможно. Почему?
Как минимум потому, что не существует идеальной частоты кадров для каждой игры. Если отбросить личные предпочтения, то можно сказать примерно следующее:
Кроме того, при выборе целевого значения частоты кадров стоит учитывать также следующие факторы:
Заключение
Подводя итог, можно сказать, что задаваясь целевым значением частоты кадров, нужно учитывать возможности вашего компьютера, игры, в которые вы обычно играете, а также понимать, что вам важнее – быстродействие или графика.
Даже 30 кадров в секунду – вполне играбельное значение, и на самом деле может обеспечить более кинематографичный вид (особенно если в игре не такие сложные анимации), но большинство согласится с тем, что идеальный компромисс между отзывчивостью и затратами – 60 кадров в секунду.
При этом трехзначная частота кадров хороша главным образом для соревновательного мультиплеера и для тех, кому требуется дополнительная отзывчивость даже в одиночных играх, пусть ценой снижения некоторых графических настроек. Однако, имейте в виду, что монитор с частотой обновления 144 или 240 Гц – довольно специфическая покупка. Он не обязательно будет дорогим, но возможно, придется пожертвовать какими-то преимуществами 60 Гц мониторов в аналогичном ценовом диапазоне. Как правило, это лучшее качество изображения.
И в заключение, если вы собираетесь покупать новый монитор, мы бы хотели посоветовать вам взглянуть на нашу подборку лучших игровых мониторов.
Почему в играх так важны значения частоты кадров и разрешения?
Так называемая «графика» всегда была, есть и, наверное, будет главным фактором во всех спорах среди геймеров. Часто участники дебатов на тему «эта игра/консоль лучше» приводят доводы в пользу своей точки зрения, используя сухие цифры, и, чтобы доказать визуальное превосходство того или иного проекта/консоли, приводят данные о частоте кадров в секунду (fps) и разрешении (resolution).
Но что в действительности означают эти термины, мало кто из участников этих дебатов знает в точности. В чем отличие между 720р и 1080р, или между 30 fps и 60 fps?
Давайте для начала определимся, что же все-таки означают эти вышеуказанные понятия.
Чтобы игрок видел движение в игре, кадры должны сменяться очень часто. Насколько часто, спросите вы? К примеру, в фильмах стандартом является 24 fps (кадра в секунду), для игр разработчики стараются сделать стабильные 30 fps. Если меньше, то игра становится дёрганой и играть становится некомфортно. Это как слушать музыкальную кассету, на которой вырезаны мелкие участки пленки.
Таким образом, некоторые игры могут столкнуться с проблемой с большинством дисплеев, если не будут работать при 30 или 60 fps. Дело в том, что, если игра игнорирует эти значения (30/60 fps) и работает с такой частотой кадров в секунду, с которой она может справиться (PC-геймеры наверняка знакомы с такой опцией, как «V-Sync off«), это вызывает «разрыв экрана» (screen tearing), при этом несколько кадров видны в одном кадре. Включая V-Sync (вертикальную синхронизацию), вы заставляете игру и монитор работать при одной частоте и избегаете «скрин-тиринга«.
Как разработчики расставляют приоритет между fps и разрешением?
Сотрудник студии Naughty Dog Корт Стрэттон (Cort Stratton) занимает еще и должность в группе ICE Team компании Sony. Это группа элитных программистов, создающих новые графические технологии, которые распространяются среди студий разработчиков первого ранга (first-party-студии).
Согласно заявлению Стрэттона, разрешение и частота кадров в секунду связаны между собой. Как правило, разрешение полностью зависит от работы GPU (графического ядра консоли). Вот как Стрэттон это очень просто объясняет:
— CPU (центральный процессор консоли) отправляет на GPU список объектов, которые должен отрисовать графический чип, а также техническую информацию о том, в каком разрешении он должен их отрисовать, GPU «напрягается» и начинает выполнять головокружительное количество вычислений, чтобы определить, какого цвета должен быть каждый из пикселей (точек, из которых состоит одно изображение). Поэтому, увеличив разрешение изображения вдвое, с 720р до 1080р, мы никак не повлияем на работу CPU, так как CPU просто направляет данные для обработки, а обработкой занимается GPU. Но при таком увеличении GPU придется производить примерно в 4 раза больше вычислений, чтобы просчитать больше пикселей. Это и влияет на количество кадров в секунду. Однако часто можно увеличить разрешение (до определенной точки, конечно), не влияя при этом на частоту кадров в секунду.
Питер Томан (Peter Thoman), который известен тем, что сделал впечатляющий мод, улучшающий графику в РС-версии игры Dark Souls, согласен с этими высказываниями:
— Увеличение разрешения повышает нагрузку на GPU, а увеличение частоты кадров влияет на нагрузку на CPU. Так что в случаях, когда разработчики ограничены в возможностях CPU (или по каким-то особенным причинам — в возможностях GPU), вы сможете увеличить разрешение, не повлияв при этом на частоту кадров.
Стрэттон рассказал, что его опыт работы подсказывает, что чаще всего разработчики решают сделать ставку на частоту кадров, а не на разрешение, и исходить уже из этого приоритета. Нельзя просто начать делать игру и ждать, когда же вы достигнете пределов возможностей железа, дойдя до определенных высот разрешения и частоты кадров. Все это зависит от возможностей железа и движка игры, креативности художников студии, качества игр конкурентов и прочего.
— Лично я считаю приоритетным высокое разрешение, а не высокую частоту кадров. Я не придаю особого значения частоте кадров, которая выше, чем 30 fps.
Однако и тут есть некоторые особенности. К примеру, чем выше частота кадров, тем ниже input lag, то есть время (в миллисекундах), за которое действия игрока (нажатие на кнопку геймпада/клавиатуры) отображаются на экране (задержка действия).
Здесь мнения Стрэттона и Томана расходятся, хотя в чем-то они и схожи. Томан говорит:
— Все зависит от жанра игры. В играх, основанных на активных действиях, я не воспринимаю ничего, что ниже, чем 45 fps. Я уверен, что геймерам обязательно стоит обращать внимание на разрешение и частоту кадров, потому чторазрешение делает игру красивее, а частота кадров делает игру более восприимчивой и играбельной. Я всегда удивляюсь, когда издатели говорят, что разрешение не имеет значения. Если это так и есть, то почему они все размещают рекламные скриншоты в 8К-разрешении?!.
Стрэттон поясняет свою позицию:
FPS-приговор. Что такое
частота кадров
в видеоиграх
и зачем её знать?
Чувствуете себя неловко, когда спрашивают «сколько у тебя фпс», а вы не знаете, что ответить? Хватит! Пора узнать, что такое фпс в играх и перестать испытывать геймерское смущение.
Что такое FPS
FPS — это сокращение от английского выражения Frames Per Second. В российских игровых сообществах уже привыкли писать fps или даже «фпс». На великий и могучий Frames Per Second переводят как «кадры в секунду». Благодаря этому понять, что такое fps в играх (и в видео в принципе) становится проще.
FPS показывает, сколько кадров (отдельных картинок) ваш монитор или телевизор демонстрирует каждую секунду. Чем выше частота кадров, тем плавнее и отзывчивее становится игра. С другой стороны, при низких показателях FPS играть становится менее приятно. Возможно, друзья иногда жаловались вам, что не могут играть из-за «слайд-шоу на экране». Это значит, что у них низкий показатель FPS, и они видят очень мало кадров в секунду.
Но как узнать, сколько фпс в игре? Может быть, вам комфортно играть, но, вдруг вас засмеют в приличных игровых сообществах, если вы расскажете о том, сколько кадров показывает ваша игра? Давайте разбираться.
Что влияет на fps в играх?
В видеоиграх частота кадров зависит как от разработчика, так и от самого геймера. Создатель игры должен обеспечить выпуск продукта без технических проблем, а покупатель — быть уверен, что у него есть платформа, которая позволит запустить игру с приемлемой частотой кадров (на текущий момент это 30 FPS, но ситуация стремительно меняется). Один из самых ярких примеров 2021 года — Cyberpunk 2077. Столь ожидаемая игра испытывала технические проблемы на консолях прошлого поколения (PlayStation 4 и Xbox One) и не могла обеспечить геймеру игру при стабильных 30 кадрах в секунду.
В то же время игрок должен быть уверен, что конфигурация его ПК позволяет запускать ту или иную игру. Так, на частоту кадров на ПК влияют:
Чаще всего проблемы с FPS возникают из-за неспособности видеокарты отрисовывать большое число отдельных кадров. Из-за этого частота кадров становится низкой, и игрок испытывает проблемы. Процессор и оперативная память оказывают меньшее влияние на FPS, но без них не добиться стабильности воспроизведения игры.
Разница между низким и высоким FPS
Представьте, что вы смотрите, как кто-то бежит. При 1 FPS вы будете видеть лишь 1 кадр в 1 секунду. Таким образом, для вас преодоление человеком 1 метра в видео при 1 FPS превратится в пытку. Чем выше FPS, тем плавнее будут становиться его движения. Пример можно найти в анимации. В «Человеке-пауке: Через вселенные» молодой и неопытный паук в лице Майлза Моралеса дёргается, в то время как Питер Паркер летает на паутине плавно. Так аниматоры хотели показать разницу в мастерстве героев.
Сколько FPS должно быть в играх
Так какая частота кадров необходима, чтобы было комфортно играть?
Чем лучше игры с высоким показателем FPS?
Как узнать FPS в играх?
Есть несколько способов узнать фпс в игре. Первый — запустить тестирование в самой игре. Часто разработчики добавляют в игру бенчмарк (тест производительности), запустить который можно в меню. В течение минуты или более, игра демонстрирует сцены в разной обстановке: ночью, днём, с толпой людей, пустые территории и так далее. После теста игра показывает результаты в виде частоты кадров.
Второй вариант — запустить специальную программу. Можно скачать Fraps. Даже бесплатная версия приложения выведет показатель FPS в любой удобный для вас угол экрана.
Также можно воспользоваться программами от производителей видеокарт: Nvidia или AMD. В обе встроен функционал для отслеживания частоты кадров в игре.
Как добиться высокого FPS в играх?
Если вас не устраивает частота кадров в игре, есть несколько вариантов решения проблемы. Самый простой: снижение настроек графики. Отключайте тени, сглаживание, снижайте качество текстур. Игра станет выглядеть хуже, но процесс прохождения станет комфортнее.
Вариант сложнее, а точнее — затратнее: обзавестись платформой, которая будет обеспечивать вас стабильным и высоким FPS. Возможно, стоит обратить внимание на консоли: PlayStation 5 и Xbox Series X, игры для которых адаптируются для 60 FPS.
Что в итоге?
FPS — это частота кадров в секунду, демонстрируемая игрой. Чем выше этот показатель, тем лучше. Движения героев станут плавнее, а проводить время за такой игрой будет приятнее. Если вы не киберспортсмен или почти не играете в соревновательные игры вроде Apex Legends, Call of Duty: Warzone, CS:GO — вам не обязательно добиваться 60 FPS. Для комфортной игры чаще всего нужно от 45 до 60 кадров в секунду. Добиться этого показателя можно снижением настроек графики или покупкой нового оборудования: комплектующих для ПК, игровых консолей.
За последние годы можно наблюдать всё растущее понимание, что одного только среднего FPS по какой-либо выбранной для целей тестирования игровой сцене недостаточно для описания производительности компьютерной системы, а минимальный и максимальный FPS в этом деле совсем не помощники. Давайте разберёмся, в чём недостаток среднего FPS, чем так плох минимальный FPS, а также познакомимся с набравшими популярность более удачными мерилами игровой производительности — показателями 1% и 0.1% низкие FPS.
Время кадра, мгновенный и средний FPS
реклама
Отрисовка каждого кадра в игре занимает некоторое время, которое называется, временем отрисовки кадра, или, коротко, временем кадра (frame time). Исчисляется время кадра обычно в миллисекундах (мс), т.е. тысячных долях секунды. Однако в игровых бенчмарках вместо этой характеристики много чаще используется частота смены кадров или, коротко, частота кадров (frame rate), равная количеству кадров, отрисованных за единицу времени. Измеряется частота кадров в количестве кадров в секунду (frames per second, fps), и для краткости частоту кадров также очень часто также именуют аббревиатурой от названия её единицы измерения, т.е. FPS.
Между временем кадра и частотой кадров есть очевидная математическая связь: значение FPS, подсчитанное непосредственно после отрисовки очередного кадра, именуемое обычно мгновенным FPS, есть величина обратная времени этого кадра:
Необходимо только учесть, что время кадра обычно исчисляется в миллисекундах, а частота кадров в единицах в секунду, поэтому итоговая формула для мгновенного FPS будет такова:
реклама
Так, например, если очередной кадр был отрисован, скажем, за 16 мс, то сразу по окончании его отрисовки мгновенный FPS был равен 1000/16 = 62.5 кадра в секунду.
Но главное мерило производительности, это, конечно же, средний FPS по всей игровой сцене, который с одной стороны представляет собой не что иное, как количество кадров n, отрисованных за всё время бенчмарка t
реклама
С другой же стороны, средний FPS можно вычислить как величину, обратную среднему времени кадра
В справедливости утверждения, что средний FPS, вычисленный таким образом, совпадает с данным выше определением убедиться нетрудно, ведь время отрисовки всех кадров равно времени бенчмарка
реклама
Впрочем, всё это, в каком-то смысле, очевидно. А вот что совсем не так очевидно, так это то, что средний FPS не является средним арифметическим значений мгновенного FPS
Математически убедиться в этом, впрочем, опять же несложно: нетрудно заметить, что выражение в левой части неравенства выше
хотя и имеет что-то общее с выражением в правой
но ему в общем случае не равно. При ближайшем рассмотрении видно, что равенство будет иметь место лишь в частном случае, когда все ti равны между собой (t1=t2=. =tn), то есть когда значения времени всех кадров идентичны, что, конечно же, практически невозможно.
Вообще, те читатели, кто неплохо знаком с физикой и математикой, тут уже кое-что должны были увидеть. Если вкратце, то, в математике для некого набора чисел
помимо всем хорошо знакомого среднего арифметического существует ещё несколько средних величин, из которых нам интересна здесь лишь одна, а именно, среднее гармоническое Если словами, то среднее гармоническое по некоторому набору чисел есть обратная величина к среднему от обратных к числам величинам. Звучит, конечно, несколько кошмарно, и не очень понятно, зачем вообще нужно, но сейчас разберёмся. Давайте сразу скажем, что в общем и целом две обсуждаемые средние величины не равны друг другу, за исключением частного случая равенства всех чисел в наборе, x1=x2=…=xn, того самого случая, который для среднего FPS мы отмечали выше.
Так же как и среднее арифметическое, среднее гармоническое находит своё применение в ряде практических задач. Так, например, если некоторый объект несколько раз подряд преодолевает одно и тоже расстояние с разной скоростью, то его средняя скорость на всём пути есть среднее гармоническое скоростей на всех участках. То есть если n раз проехать расстояние d со скоростями v1, v2, …, vn, то время прохождения каждого отрезка составит ti = d/vi, а средняя скорость, равная по определению отношению длины пути, пройденного телом, ко времени, за которое этот путь был пройден, будет равна
т.е. среднему гармоническому скоростей, а не их среднему арифметическому. Например, если Вы по пути на дачу на первом километре попали в “пробку” и двигались со скоростью 30 км/ч, а на втором километре “затор” рассосался и Вы “втопили” уже «под 90», то средняя скорость за 2 километра составила, 2 / (1/30 + 1/90) = 45 км/ч, а не (30 + 90) / 2 = 60 км/ч, в чём легко убедиться. Смотрите, Вы проехали 2 км, и если бы Ваша средняя скорость была равна 60 км/ч, то на дорогу у Вас ушло бы всего навсего 2 км / 60 км/ч = 1/30 ч, т.е. 2 минуты. В реальности же только на первый километр Вы уже потратили 1 км / 30 км/ч = 1/30 ч, эти самые 2 минуты, а затем ещё 1 км / 90 км/ч = 1/90 ч (чуть меньше минуты) ушло на второй километр.
Вообще, среднему арифметическому от скоростей средняя скорость равна лишь тогда, когда тело двигалось с этими скоростями одинаковые промежутки времени, а не одинаковые участки пути, но это уже, как должно быть понятно, не наш случай. Почему? Здесь всё просто — мгновенный FPS суть есть скорость смены кадров на участке длиной в 1 кадр, а не продолжительностью в 1 секунду, а значит и среднюю скорость (средний FPS) следует считать как среднее гармоническое значений мгновенного FPS, а не их среднее арифметическое.
Минимальный, 1% и 0.1% низкие FPS
Что ж, со средним FPS разобрались, едем дальше. Собственно, очень давно известно, что использование каких-либо средних величин в качестве единственных характеристик некоего набора данных — всегда плохая идея. Так, например, в нашем конкретном случае необходимо понимать, что время каждого кадра напрямую зависит от его сложности, и периодически в игре могут встречаться кадры со сложностью, существенно превышающей среднюю, на отрисовку которых, как следствие, уходит заметно больше времени. В результате такие “длинные” кадры задерживаются на экране существенно дольше и могут приводить к визуально заметным “подтормаживаниям” и “фризам”, способным испортить всё удовольствие от игры. И тут надо понимать, что такие “длинные” кадры часто бывают редкими, и проблема использования среднего FPS и состоит как раз в том, что в процессе усреднения значений времени кадра информация о “длинных” редких кадрах теряется.
Поясню на небольшом примере. Пускай, за 1 секунду игрового времени было отрисовано 30 кадров со следующими значениями времени отрисовки в мс:
48, 35, 33, 31, 14, 38, 29, 24, 17, 16, 90, 21, 43, 36, 19, 22, 10, 11, 37, 26, 28, 18, 27, 98, 50, 47, 25, 42, 44, 21
Среднее время кадра равняется 33 мс, а средний FPS — 30 кадрам в секунду. Казалось бы, всё неплохо, но обратите внимание на присутствие парочки очень “длинных” кадров (выделенных жирным шрифтом) со временем отрисовки втрое большим среднего, а именно, 90 и 98 мс. При усреднении значений времени кадров информация о наличии столь “длинных” пускай и редких кадров была потеряна, и в результате полученные средние величины вроде бы сигнализируют о достижении минимального порога играбельности, но на деле визуально заметные “просадки” и “фризы” при подобного рода наборах значений времени кадра неизбежны.
Чем же дополнить средний FPS, чтобы лучше описать весь набор значений времени кадров? Возможно, минимальным значением? Нет, не стоит. Дело в том, что минимальный мгновенный FPS, как любой единичный элемент набора данных, может оказаться грубым выбросом. Например, минимальное значение мгновенного FPS может оказаться таковым не по причине сложности соответствующего кадра, а из-за внешних факторов, например, запланированного старта какой-нибудь службы Windows ровно в момент отрисовки этого кадра. При этом, устранить все внешние факторы, которые могут повлиять на единичное значение мгновенного FPS, практически невозможно, и, что важнее, этого и не требуется, при грамотном подходе к описанию имеющегося набора данных. Но каков же этот грамотный подход?
В математической статистике существует понятие процентиля, которое для наших целей можно определить как значение, ниже которого находится определённый процент данных из набора. Например, 99-процентиль — значение, ниже которого находятся 99% данных из набора. В нашем примере с 30 кадрами, отрисованными за 1 с, 99-процентиль равен 96 мс, и означает это, что 99% значений времени кадра из нашего набора меньше 96 мс, и лишь 1% больше или равен этому значению. Обратите особое внимание, что в нашем конкретном случае из-за малого числа данных в наборе существенной разницы между минимальным значением и 99-процентилем нет, и, как следствие, 99-процентиль здесь ничем не лучше минимального значения в отношении грубых промахов. По сути из всего нашего набора данных лишь единственное значение (минимальное) и не попало “под” 99-процентиль. Однако, если набор данных будет существенно больше, скажем, будет содержать время отрисовки нескольких тысяч кадров, то “длинных” кадров, не попадающих “под” 99-процентиль будет уже порядка нескольких десятков и вместо единственного минимального значения, которое, возможно, является грубым выбросом, у нас будет иметься уже какая-никакая статистика по всем редким “длинным” кадрам. Это обеспечит не только более адекватное описание набора данных, но и значительно лучшую воспроизводимость результатов.
Надеюсь, теперь понятно, чем так хороши процентили, и здесь осталось прояснить лишь какие конкретно процентили использовать. И тут всё, по большому счёту, определяется негласными соглашениями в какой-либо области, и в игровых бенчмарках де-факто стандартом стали 99- и 99.9-процентили времени кадра. Точнее, как уже отмечалось выше, в игровых бенчмарках обычно приводят значения FPS, поэтому и вместо 99- и 99.9-процентилей времени кадра в результатах обычно фигурируют обратные им 1- и 0.1-процентили FPS, именуемые 1% низкий FPS и 0.1% низкий FPS, соответственно. При этом следует понимать, что 1% и 0.1% от всего набора данных — это лишь небольшая часть данных, описывающая редкие и крайне редкие игровые события. Поэтому в самом факте, что 1% низкий FPS и 0.1% низкий FPS оказываются зачастую значительно ниже среднего FPS нет ничего страшного — такая картина лишь говорит о том, что сложность кадров в игровой сцене непостоянна, что совершенно нормально. Плохо лишь, если обсуждаемые показатели «просаживаются» на конкретной игровой системе слишком сильно, выходя за границы играбельности, так как в этом случае нас ожидают визуальные неприятности.
Последнее, о чём, пожалуй, стоит ещё обмолвиться, перед тем, как перейти к выводам, так это так называемый средний за секунду (или по секунде) FPS, а также характеристики на нём основанные, например, минимальный средний за секунду FPS. Этот «зверь», впрочем, простой: средний за секунду FPS — это просто средний FPS на отрезке в 1 с. Равен он количеству кадров, отображённых за одну прошедшую конкретную секунду, но, так же как и средний FPS за всё время бенчмарка, может быть посчитан и как среднее гармоническое значений мгновенного FPS за эту конкретную секунду. Обычно, именно средний за секунду FPS и отображают на экране различные счётчики частоты кадров наподобие FRAPS, так как значение мгновенного FPS пришлось бы обновлять настолько часто, что в этом месиве всё равно бы никто ничего не разобрал. Использовать же значения среднего за секунду FPS вместо значений FPS мгновенного для более детального анализа бессмысленно, так как наиболее важная информация о времени отрисовки «длинных» кадров в них уже потеряна (см. пример выше). А касательно минимального среднего за секунду FPS упомянем лишь, что он, в отличие от минимального мгновенного FPS, может быть больше, скажем, 0.1% низкого FPS, что периодически порождает путаницу и неразбериху.