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 кадров в секунду. Добиться этого показателя можно снижением настроек графики или покупкой нового оборудования: комплектующих для ПК, игровых консолей.
Кадры в секунду и частота монитора: как они связаны?
Кирилл «gr1nder» Русаков
Разговоры о реальной необходимости больших значений FPS в играх и мониторах с повышенной частотой обновления ведутся уже давно. Многие считают, что гонка за герцами и кадрами в секунду не имеет смысла, особенно когда частота монитора не превышает 60 Гц. Cybersport.ru объяснит, почему больше — это в любом случае лучше и кому это поможет.
На что способен человек
С самого начала развития кинематографа и анимации появился миф о том, что 24 кадра в секунду — максимум, что может распознать человек. Якобы делать больше нет абсолютно никакого смысла, и визуально плавность анимации никак не изменится.
Для человека слайдшоу превращается в анимацию уже на частоте примерно 15 кадров в секунду. Но чем выше частота кадров, тем лучше воспринимается картинка. А 24 кадра никак не связаны с физиологией. В основе такого формата больше лежит экономические и технические моменты — киноплёнка тех времён и оборудование для воспроизведения были наилучшими по соотношению цена-качество.
С развитием технологий люди создали новые носители, аналоговые передачи сменились цифровыми: мы смогли перейти на 30 кадров в секунду и больше. Например, система IMAX воспроизводит 48 кадров в секунду, а трансляции игр на Twitch — до 60 FPS. И только скажите, что не замечаете, как картинка на 60 кадров в секунду становится плавнее, чем на 30!
После 60 FPS разницу на большей частоте при просмотре видео уловить сложнее. Тут больше зависит от индивидуального восприятия каждого человека. Например, в американских ВВС проходил тест среди пилотов истребителей. И те умудрялись не просто заметить самолёт, который отображался за один кадр в видеоряде с частотой 220 кадров в секунду, но и назвать его модель. Так что точного ответа на вопрос, сколько кадров распознаёт человек, не существует.
На что способен монитор
Сейчас у большей части мониторов частота обновления равна 60 Гц. Но технологии ушли вперёд, и мы уже можем делать матрицы, которые будут выдавать и 120 Гц, и 144, и даже 240. Но зачем? Мониторы с большой частотой стоят значительно дороже, а пользу ощущают далеко не все. У современного видео частота не превышает 60 кадров в секунду, а значит, и спрос на мониторы с большей частотой обновления невелик.
Но если мы говорим об играх, то они выдают гораздо большие значения FPS, чем видеоконтент. В Counter-Strike: Global Offensive, например, частота и вовсе не ограничена. А самые искушённые игроки ощущают лаги меньше чем при 300 FPS. Чтобы эти кадры в секунду использовались с максимальной эффективностью, нужен монитор с большей частотой обновления.
Приведём простой пример. В первом случае вы сидите и смотрите со стороны, как кто-то играет в CS:GO на мониторе с частотой обновления 144 Гц и с 300 FPS, а рядом сидит человек с монитором на 60 Гц и 60 FPS в игре. Очевидной разницы в изображении для вас не будет никакой. Но если вы сядете на места игроков, то вы сразу почувствуете, что всё происходит чётче, плавнее и точнее.
Это можно доказать и на цифрах. При частоте 60 Гц кадр меняется каждые 16 мс, а при 144 Гц — каждые 6 мс. Несмотря на то что почти трёхкратная разница вообще не будет заметна глазу, мелкая моторика человека после нескольких лет оттачивания мастерства игры использует эти 10 мс для более точного наведения прицела на голову. Это невозможно объяснить словами, только прочувствовать. Все киберспортсмены, кстати, требуют от организаторов использовать мониторы со 144 Гц.
Во-первых, разница между любым профессиональным игроком и его оппонентом настолько мизерна, что даже такие мелочи могут решить исход сражения. Во-вторых, они играют на такой частоте везде — дома, на буткемпе и на других турнирах. За долгое время они привыкли к 144 Гц. На меньшей частоте они не просто не смогут реализовать свой потенциал и будут чувствовать сильный дискомфорт. Им будет казаться, что всё тормозит и лагает.
Кадры лишними не бывают
Может ли монитор с 60 Гц отобразить больше 60 кадров в секунду? Нет, не может. Другой вопрос, что именно он отобразит. Вывод изображения на экран и рендер кадров на компьютере не происходят одновременно. Существует небольшая задержка, которая называется Input Lag. Когда вы двигаете мышкой или нажимаете клавишу, на экране это применится только в следующем кадре.
Если вы играете на 60 FPS, то минимальная разница между движением и отображением составит примерно 16 мс. Если же частота в два раза больше, то перед показом следующего кадра система успевает зарендерить два, а на экран будет выведен более актуальный. Итого, задержка сокращается вдвое. Исходя из этого напрашивается вывод: больше FPS — это всегда хорошо, вне зависимости от того, какая у монитора частота обновления.
Техника не чит, а инструмент
Что будет, если дать обычному человеку самую крутую кисть, краски, холст и попросить его написать шедевр прямо здесь и сейчас? Очевидно, ничего у него не выйдет. Для того чтобы достичь результата, нужна практика, тренировка и сноровка. Если за тысячу часов в CS:GO на мониторе 60 Гц и с 60 FPS вы так и остались сильвером, то никакие мониторы и показатели FPS не сделают из вас чемпиона мейджора. На результат слишком сильно влияет человеческий фактор — форма, настроение, состояние, реакция и масса других особенностей. Ни в коем случае нельзя сводить всё к техническим аспектам.
Всё зависит от потребностей и возможностей. Некоторых устраивает даже 30 FPS и они не видят смысла тратить несколько тысяч долларов на мощный компьютер с самым новым железом и тем более на монитор с частотой 120 Гц и больше. Другие же чувствуют плохую отзывчивость управления даже на 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, что периодически порождает путаницу и неразбериху.





/https://hb.bizmrg.com/cybersportru-media/a0/a02f970d7befbd43536c09cf23f88f1c.jpg)



