что в игровом цикле задается с помощью параметра fps
Как увеличить фпс в играх на слабом железе?
Если любите 3D-игры высокого класса на компьютере, вам нужна лучшая производительность. Это вопрос подрузумевает трату кучи денег в хорошие компьютерные устройства, в первую очередь видеокарту. Улучшите ли вы производительность компьютера или ноутбука, не тратя много денег или даже лучше, не потратив ничего?
Что такое фпс в играх?
Аббревиатура расшифровывается как «число кадров в секунду» и обозначает, сколько кадров видеокарта способна отображать каждую секунду и/или сколько кадров спасобен отображать ваш монитор. Первое зависит от вычислительной мощности видеокарты, а второе полностью зависит от частоты обновления монитора.
В любой игре FPS определяет, аналогичную ситуацию. Чем выше FPS, тем более гладкой и отзывчивой будет игра. Напротив, низкий ФПС создаст впечатление, будто игра поддергивается, фризит, тормозит и сделает ее более сложной и менее приятной для игры. Если вы новичок в играх, будь то настольный компьютер, консоль или и то и другое, вы обязательно услышите или увидите аббревиатуру «FPS», используемую в игровых и аппаратных дискуссиях.
Почему важен высокий фпс?
Особенно в шутерах. Но он может быть больше или меньше, чем вы ожидаете. Некоторые пользователи могут вообще не получить никаких улучшений.
Представьте, что вы смотрите что-то, работающее на скорости 1 ФПС. Это означает, что вы будете видеть только одно изображение каждую секунду, что будет больше похоже на слайд-шоу, чем на видео. Не только высокая частота кадров влияет на плавность изображения, но и визуальный потенциал, в первую очередь анимация. При условии, что игра имеет естественную анимацию, она будет отображаться плавно с высоким FPS. На устаревших играх с более грубой анимацией, картинка может отображаться с рывками.
Как помогает высокий FPS?
Увидев больше кадров на экране, вы сможете быстрее реагировать на любые происходящие изменения. Более отзывчивая игровая среда позволяет лучше наблюдать и анализировать ее в реальном времени.
В некоторых случаях если у вас онлайн-игра начала дергаться, и персонаж просто застревает позади экрана, то проблема может быть аппаратная. Заключается неисправность в роутере или в вашем провайдере интернета.
Чем FPS выше, тем лучше?
Большинство единодушно согласится, что чем выше, тем лучше. Но правда в том, что иногда более низкий FPS лучше в некоторых случаях.
Зачем нужен высокий фпс?
Программы для повышения фпс
Твики для настройки графики
Графическая настройка на более низкое качество даст прирост и увеличит FPS в игре. Некоторые оптимизации важнее других. Уменьшение правильных настроек возовет стабильные 60 фпс без последующего уменьшения качества графики.
Возможен разрыв экрана когда вывод кадров видеокарты не синхронизирован с частотой обновления монитора. Когда это произойдет, просто включите V-sync либо на панели управления видеокарты, либо в меню настроек игры.
Многие компьютерные игры, не имеют дополнительных визуальных возможностей, особенно если они были перенесены с игровых консолей. Можно попробовать вручную настроить 3D-настройки в Windows с помощью софта от поставщика видеокарты. Существуют также бесплатные программы, такие как Nvidia GeForce Experience и Razer Cortex. Которые предлагают предварительно улучшенные настройки для оптимизации под FPS в популярных игр.
Увеличение фпс закрытием фоновых приложений
Если возможно, всегда закрывайте фоновые приложения операционной системы перед началом игры. Это освободит процессорные циклы памяти компьютера, и сможете полностью наслаждаться ускоренным и плавным игровым процессом. Фоновый режим подразумевает часто работу программ, даже без видимого окна на рабочем столе. Что добавляет нагрузку на систему в целом. Программы с большим объемом памяти, такие как iTunes, Google Chrome и Microsoft Office, запускают «вспомогательное» приложение, которое удерживает программу даже после закрытия окна. Проверьте свои уведомления или диспетчер задач, чтобы найти лишний софт и закрыть его. Безобидные программы, которые поставляется с мышью или клавиатурой, могут замедлить работу вашей системы.
На некоторое увеличение фпс в играх, влияют многие программы Windows добавляющие функцию автозапуска при их установке и могут постоянно работать в фоновом режиме. Для Windows 7 и более ранних версий одновременно нажмите кнопку Windows и «R», затем введите «msconfig» и «enter», чтобы открыть окно конфигурации. Перейдите на вкладку «Автозагрузка», затем отключите все, что вам не нужно, и перезагрузитесь. В Windows 8 и более поздних версиях это еще проще: просто нажмите Ctrl + Shift + Esc, чтобы открыть диспетчер задач и щелкнуть вкладку «Запуск». Если не знаете, что такое элемент в списке, выполните поиск в Интернете. Вероятно что кто-то уже задал этот вопрос.
Влияет ли обновление драйверов на фпс?
Компания Nvidia как AMD стараются регулярно обновлять драйвера для своих видеокарт. Последние драйверы поднимают производительность, особенно для новых игр. Найдите последнюю версию. Убедитесь, соответствуют ли драйвера вашей ОС, а также конкретной модели графической карты. Если модель карты которая неизвестна, оба производителя предлагают инструмент автоматического обнаружения, чтобы получить нужный пакет.
Свежие дарайвера всегда можно найти и скачать с официального сайта производителя вашей видеокарты.
Если используете ноутбук с интегрированной графикой Intel, вы вероятно не увидите обновленных драйверов. Стоит проверять официальный сайт, чтобы узнать, есть ли что-то новое.
Иногда производители видеокарт ошибаются в усовершенствованнии новых драйверах, которые негативно скажутся на фпс игр. Если внезапно увидите уменьшение частоты кадров или ошибки в текстурах, попробуйте полностью удалить графический драйвер, загрузив более старую версию и используя ее вместо этого. Обе компании Nvidia и AMD предлагают архивные версии своих пакетов драйверов.
Настройка графики новой видеокарты
Если уже выбрали более дорогую графическую карту, следующее продвижение ФПС, состоит в подборе процессора и оперативной памяти. (Процессоры для ноутбуков не могут быть заменены, но в большинстве из них один слот для DIMM для оперативной памяти). Более быстрый процессор увеличит частоту кадров, но не настолько, как улучшенная видеокарта. Больше ОЗУ позволит компьютеру управлять операционной системой и приложениями эффективней.
Более усовершенствованные программы доступны для улучшения графики и производительности. Это видеокарты, с конфигурациями Nvidia SLI или Crossfire, или разработки систем охлаждения (Подробнее:Какое охлаждение лучше водяное или воздушное?) процессора и графического процессора для разгона. Но это слишком много. Предыдущие параметры должны обеспечить более чем достаточное поднятие скорости в играх на слабом компьютере. Вы получаете увеличение в 60 ФПС, если играете с качеством 1080p.
Cделали все правильно? Тогда ускоренная графика и повышенный прирост фпс (fps), не заставит себя долго ждать, как на предустановленных играх, так и браузерных.
Просто некоторые вещи для дополнения: драйверы GPU не повышают производительность, они просто делают GPU совместимым с системой и программным обеспечением, драйверы Game Ready на самом деле мне тоже не помогают (Nvidia GPU); обычно программы повышения бесполезны и не имеют большого значения, они помогают завершать бесполезные процессы, но они обычно имеют низкую загрузку процессора, VRAM и памяти. И удачи в игре MP на средних с Intel GPU
У меня есть одна проблема, и это, кажется, мой компьютер ограничивает мой FPS на 30, когда он может легко запустить его на более высоких кадрах. Я уже увеличил максимальную частоту кадров в секунду в консоли, но по какой-то причине мой FPS не превысил 30. Я хотел бы отметить, что мой компьютер не плохой компьютер, это очень мощный компьютер, он может запускать Warframe и выше FPS. Просто кажется, что TF2 форсирует ограничение FPS, и я не знаю, как это исправить. Есть идеи как убрать эту странную шляпу?
Что такое «частота кадров в секунду»? 24, 30 и 60 FPS
Разбираемся, от чего зависит и на что влияет кадровая частота в играх, кино и мультипликации.
Кадровая частота (англ. frame rate) — это количество кадров, сменяющих друг друга за секунду. В кино, анимации или видеоиграх термин зачастую используют, чтобы пояснить, насколько изображение получилось «плавным». Единица измерения такой частоты тоже есть — это буквально кадры в секунду (англ. frame per second, или FPS). Чем их больше, тем «плавнее» изображение: если для фильмов норма — 24 кадра в секунду, то в разговорах про игры обычно упоминают цифры от 30 до 60.
Это, впрочем, не предельные значения. Так, в классических мультфильмах Уолта Диснея кадровая частота — 12 FPS, но картинка всё равно достаточно «плавная», чтобы не раздражать зрителей, — всё благодаря приёмам аниматоров. А вот профессиональный киберспортсмен, играя на самом современном компьютере, вполне может увидеть до 300 кадров в секунду. Рассказываем, откуда такой разброс и что в этом «фреймрейте» важного.
Сценарист и копирайтер. Утверждает, что видел все фильмы и прошёл все игры, но редакция отказывается ему верить.
24 кадра в секунду
24 FPS — стандарт в кинематографе. Показатель, наиболее комфортный для зрителя.
Впервые частоту киносъёмки осознанно выбрали пионеры кинематографа — братья Люмьер. Она тогда составляла 16 кадров в секунду. Это был строгий расчёт — расход 35-миллиметровой киноплёнки составлял ровно один фут (0,3048 метра) в секунду.
Во времена немого кинематографа скорость показа фильма нередко превышала частоту съёмки. Киномеханик, который вращал ручку проектора, подбирал темп в зависимости от настроения фильма и «темперамента» публики — от 18 до 30 кадров в секунду.
Ситуация изменилась с появлением звукового кино. Поскольку разная скорость воспроизведения меняла частоту звука и голоса становились выше, американские кинокомпании задумались о стандарте фреймрейта. В 1926 году таким стандартом стал показатель в 24 FPS — создатели кино выбрали его как компромисс между «плавностью» картинки, расходом плёнки и возможностями техники. Как раз с этой частотой мы смотрим фильмы по сей день. Хотя исключения тоже бывают.
Кто-то снимает быстрее?
Современные режиссёры иногда проводят эксперименты с увеличением кадровой частоты, чтобы сделать изображение «плавнее» и тем самым усилить погружение. Один из самых известных примеров — «Хоббит» Питера Джексона, снятый с частотой 48 FPS.
Другой пример — фильм «Гемини» Энга Ли, снятый с частотой и вовсе 120 кадров в секунду.
Правда, чтобы увеличить в фильме кадровую частоту, вовсе не обязательно снимать его с высоким фреймрейтом — порой достаточно и современного телевизора с функцией «сглаживания движения» (англ. motion smoothing).
Дело в том, что частота обновления экрана у нынешних ТВ превышает общепринятую кадровую частоту кино — это может быть и 50 Гц против 24 FPS, и даже 120 Гц против тех же 24 кадров. Иногда это приводит к тому, что изображение начинает дёргаться и дрожать. Чтобы решить проблему, изобрели «сглаживание движения» — эта технология анализирует движение объектов и создаёт дополнительные кадры, будто бы заполняя ими «пустые» места.
Звучит здорово, однако на деле motion smoothing только портит изображение. Резкость картинки заметно увеличивается, порой возникают артефакты изображения, а естественная «смазанность» сцены, специально созданная режиссёром, становится едва заметной, сбивая фокус. И в результате возникает «эффект мыльной оперы».
По этой причине режиссёры и актёры выступают против технологии, называя её проклятием кинематографа. Хорошо, что пока это лишь опция, которую при желании можно просто отключить.
А что с кадрами в мультфильмах?
Сегодня во время съёмок кино оператор выставляет на камере нужную частоту. Всё сложнее, если речь идёт о мультипликации, ведь каждый кадр необходимо нарисовать вручную. По кадровой частоте анимация делится на несколько видов:
Чтобы снять 20 минут мультфильма в анимации вида 1s, необходимо нарисовать порядка 28 000 уникальных рисунков. Это весьма непростая задача, и потому мультипликаторы идут на всевозможные уловки, чтобы зритель не заметил недостающих кадров. Так, анимацию 1s чаще всего применяют только в активных сценах — например, если персонаж бежит.
Постепенно в создании анимации появились новые секреты. Первым работу мультипликаторов оптимизировал Уолт Дисней: ведущие художники сперва рисовали основные кадры (англ. keyframes), а после этого в дело вступали художники-фазовщики — они рисовали «промежуточные фазы движения»
(англ. in-between) и доводили анимацию до финального вида. Эти термины остаются актуальными для аниматоров и сегодня.
Для экономии кадров художники идут и на другие хитрости. Скажем, рисуют фон и на статичный рисунок накладывают прозрачные целлулоидные плёнки с подвижными элементами. А ещё аниматоры зацикливают кадры или же «раскладывают» персонажей и объекты в несколько слоёв — например, анимируют только губы на неподвижном лице.
В японской анимации — аниме — художники для упрощения своих задач зачастую пропускают промежуточные рисунки — фазовки. Из-за этого эмоции на лице персонажа меняются моментально.
В аниме также существует термин sakuga — это моменты, когда качество картинки возрастает и доходит до стандарта 1s. Приём используют для заставок, сюжетных поворотов или экшн-сцен.
Сколько кадров в видеоиграх?
Оптимальный фреймрейт в играх выше, чем в кино, — он начинается с 30 кадров в секунду. С точки зрения технологий кадровая частота в игровой индустрии работает иначе, нежели в кино, однако суть та же — чем больше FPS, тем лучше. Кроме того, именно счётчик FPS — главный показатель производительности той или иной игры.
Частота в 60 FPS обеспечивает куда более «плавное» изображение. Впрочем, важнее стабильная производительность. Высокий фреймрейт, который время от времени неожиданно «падает» до 35–45 кадров, игрок воспринимает хуже, чем стабильные 30 FPS. Любой такой сбой воспринимается как лаг, ведь мозг игрока «настраивается» на определённую кадровую частоту.
Кадровая частота игры во многом зависит от того, на какой платформе она запущена. Так, на ПК единственное ограничение в большинстве случаев — мощность «железа», которое может быть очень разным. Зачастую это вызывает дополнительные проблемы при оптимизации игры: сделать так, чтобы она работала одинаково на всех компьютерах, попросту невозможно — комбинаций «железа» слишком много.
При создании версий для игровых приставок, где установлены фиксированные комплектующие, ситуация немного проще — оптимизировать игру приходится под тот или иной «стандарт» (в зависимости от конкретной приставки). В этом случае, правда, возникает другая проблема: нередко мощности устройства не хватает для частоты в 60 кадров, и тогда разработчики искусственно ограничивают фреймрейт на отметке в 30 FPS. Это компромисс — низко, зато стабильно.
Правда, с появлением консолей нового поколения — Xbox Series X и PlayStation 5 — многие компании и студии при разработке стали целиться именно в 60 FPS, поскольку «железо» позволяет. По крайней мере, пока. Если верить рекламе, новые консоли способны выдавать и 120 FPS, но это, конечно, касается относительно «лёгких» с точки зрения графики игр.
«Мы никогда не пытались ограничить разработчиков в том, чего они пытаются добиться на нашей платформе, будь то 60 FPS на Xbox 360 или 4K и 60 FPS на Xbox One X. Мы хотим дать им инструменты для того, чтобы они создавали свои игры на любой из наших платформ. В поколении Xbox One X мы уже достигли момента, когда игры выглядят потрясающе, но у нас есть простор для того, чтобы сделать их ещё лучше. Я хочу, чтобы игры ощущались столь же здорово, как и выглядят. Думая о будущем, мы хотели сосредоточиться не только на количестве пикселей, но и на ощущениях от игр, которые обеспечивает высокий фреймрейт».
Фил Спенсер, глава Xbox.
Интервью, 2020 год
Похожего мнения придерживаются и разработчики, которые сотрудничают с Sony.
«Разрешения 4K достаточнo, его хватит надолгo. Но мне хочется вместо того, чтобы оставаться на уровне 60 кадров в секунду, поднять частоту до 120 или даже 240 кадров в секунду. Я думаю, это то, что изменит игры».
Кадзунори Ямаути, руководитель разработки серии Gran Turismo.
Интервью, 2020 год
И если в одиночных играх кадровая частота играет роль важную, но всё-таки не принципиальную, то в киберспорте высокий показатель FPS — залог успеха.
И не только он: ещё при подборе техники для соревнований профессиональные игроки учитывают частоту обновления экрана монитора. От неё зависит, как часто и быстро обновляется изображение на дисплее каждую секунду. Так, при частоте 60 Гц кадр меняется каждые 16 миллисекунд, при 144 Гц — каждые 6 миллисекунд.
Когда монитор обновляется с такой скоростью, разница не видна глазу, всё дело в мелкой моторике. После нескольких лет тренировок киберспортсмен в той же Counter-Strike: Global Offensive использует лишние 10 миллисекунд для более точного наведения прицела. Для реализации своего потенциала профессиональным игрокам необходима техника с максимальными характеристиками, даже несмотря на то, что упомянутая Counter-Strike — не слишком требовательная к «железу» игра.
Ещё один пример — Call of Duty: Black Ops — Cold War. Компания NVIDIA, которая выпускает видеокарты, в 2019 году провела исследование «фликшотов» — этим термином обозначают ситуации, когда игрок в шутере очень резко целится во врага и метко стреляет. В случае с Black Ops частота обновления 360 Гц улучшает качество стрельбы на 4% — по сравнению с монитором на 240 Гц. И этот небольшой перевес может оказаться решающим во время соревнования.
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, что периодически порождает путаницу и неразбериху.