Почему 120 FPS ощущаются как 40 А 85 — как масло
Одна метрика, которую индустрия прячет 20 лет. Frametime переворачивает причину и следствие — и ты больше никогда не посмотришь на обзор железа как раньше.
Момент, когда цифры врут
Т Объект исследования // Frametime Ты запускаешь любимую игру. Cyberpunk, Hogwarts Legacy или свежий патч Tarkov. Счётчик FPS в углу экрана показывает стабильные 120. Иногда проседает до сотни, но ты на это даже не смотришь — 120 FPS, всё отлично.
Ты выходишь из меню. Начинаешь движение. Поворачиваешь камеру — и что-то не так. Картинка будто цепляется за невидимые кочки. Микро-рывок. Даже не рывок — секундная запинка, которую ты не можешь описать словами. Вот она есть, а через мгновение её уже нет. Но осадок остался.
Ты лезешь в настройки. Выключаешь Ray Tracing — не помогает. Снижаешь тени с Ultra до High — без изменений. Счётчик FPS по-прежнему показывает 110–120. Но ощущение «невидимых кочек» никуда не делось.
Знакомо? Поздравляю. Ты столкнулся с тем, что геймеры чувствуют годами, но не могут объяснить. Индустрия убедила тебя, что FPS — это и есть плавность. Это неправда. ? И сейчас ты узнаешь, почему.
"Счётчик FPS —
это средняя температура по больнице."
У одного пациента 36.6, у другого 40.2. Средняя — 38.4. «Всё в порядке, пациенты стабильны». Но один из них горит. То же самое с твоими 144 FPS. Большинство кадров — быстрые и ровные. Но кадры-«пациенты с температурой 40» портят всё впечатление. А счётчик FPS их усредняет и прячет.
В этом разборе ты узнаешь, как за десять минут научиться видеть то, что скрывает счётчик FPS. А в конце — вернёшься к первому выбору и сам скажешь, какой сетап лучше. И ты будешь прав.
Эксперимент, который сломает твоё понимание FPS
Представь: один и тот же компьютер. Одна и та же игра — Cyberpunk 2077 на ультрах. Одинаковый маршрут, одинаковые условия. Никаких читов.
Я записал две сессии телеметрии. И сейчас покажу тебе только цифры. Никаких графиков — просто два числа.
Сделай выбор. Какой сетап был плавнее?
Ты выбираешь B. 144 FPS. Конечно, B. Это же почти в два раза больше. Счётчик не врёт. Математика на твоей стороне.
А теперь смотри на frametime ? — время рендеринга каждого отдельного кадра в миллисекундах. Это не FPS. Это то, из чего FPS получается.
Ровная линия. Почти идеальная. Frametime колеблется в пределах 11–13 миллисекунд. Ни одного резкого скачка за три минуты. Метроном, который не сбивается.
Хаотичная линия с красными спайками до 40–60 мс каждые 5–15 секунд. Видишь эти красные зубцы? Это моменты, когда видеокарта «спотыкается». Один кадр — 7 мс. Следующий — вдруг 52 мс.
Когда ты играешь на Сетапе A (85 FPS), каждый новый кадр приходит строго по расписанию — каждые 11.8 миллисекунд. Раз, раз, раз. Как часы. Твой мозг привыкает к ритму. Картинка течёт.
Когда ты играешь на Сетапе B (144 FPS), большинство кадров приходят быстро — каждые 7 миллисекунд. Но внезапно один кадр задерживается на 52 миллисекунды. Это в семь раз дольше, чем должен. Твой глаз регистрирует задержку. И ты чувствуешь микро-рывок.
Средний FPS у Сетапа B? 144. Впечатляет. Ощущение? Дёрганая картинка с «невидимыми кочками».
Как 85 FPS могут быть плавнее, чем 144?
Чтобы ответить на этот вопрос, нам нужно понять, что вообще такое frametime. И лучший способ это сделать — послушать метроном.
Метроном, который ты слышишь, но не замечаешь
Отвлекись на минуту от игр. Представь метроном. Классический механический метроном: стрелка качается влево-вправо, и каждое качание сопровождается щелчком. Если выставить темп 120 ударов в минуту — метроном щёлкает строго каждые 500 миллисекунд. Раз. Раз. Раз. Ты можешь закрыть глаза и мысленно продолжить ритм — он предсказуем. Мозг синхронизируется с ним.
А теперь представь, что метроном сломался. Он всё ещё делает в среднем 120 ударов в минуту. Но интервалы между щелчками плывут: 300 мс, 800 мс, 450 мс, 900 мс. Среднее — 500 мс, как и было. 120 ударов в минуту. Но слушать это невозможно. Ритм разрушен. Мозг не может синхронизироваться. Ты морщишься.
Среднее у обоих — 500 мс (120 ударов/мин). Но один предсказуем. Другой — нет. FPS считает среднее. Твой мозг считает ритм.
Frametime — это и есть интервал между щелчками метронома. Каждый «щелчок» метронома = один кадр на экране. Интервал между щелчками = время, которое видеокарта потратила на рендеринг этого конкретного кадра. Темп (удары в минуту) = FPS (кадры в секунду).
FPS = 1000 / frametime [мс]
Если каждый кадр рендерится ровно за 11.8 мс → FPS = 1000 / 11.8 ≈ 85. Идеально стабильно. Если кадры скачут: 7 мс, 7 мс, 38 мс, 7 мс, 52 мс, 7 мс → средний FPS ≈ 51 (за шесть кадров), но за секунду через экран проходят 144 кадра, и средний FPS — 144.
FPS — это средняя температура по больнице. У одного пациента 36.6, у другого 40.2. Средняя — 38.4. «Всё в порядке, пациенты стабильны». Но один из них горит. То же самое с твоими 144 FPS. Большинство кадров — быстрые и ровные. Но кадры-«пациенты с температурой 40» портят всё впечатление. А счётчик FPS их усредняет и прячет.
Переворот. Frametime создаёт FPS, а не наоборот
Ты всю жизнь думал так:
И вот здесь — самый важный момент этого материала. Перечитай его дважды, если нужно.
Видеокарта рендерит КАЖДЫЙ КАДР за определённое время
→ это время называется frametime
→ из frametime ВЫЧИСЛЯЕТСЯ FPS
→ плавность зависит от СТАБИЛЬНОСТИ frametime, а не от FPS
FPS — это не причина. FPS — это следствие. FPS — это просто обратная величина среднего frametime. Математическая производная. Удобная цифра для коробки с видеокартой. Маркетинговая метрика.
Три доказательства
Каждый кадр рендерится ровно за 16.7 мс. Это 60 кадров в секунду. Frametime стабилен → картинка плавная. FPS = 60.
Девять кадров рендерятся за 7 мс. Один кадр — за 55 мс. Среднее frametime = (9×7 + 55) / 10 = 11.8 мс → FPS ≈ 85. Но в реальности — секундный микро-фриз каждые 10 кадров. Игра дёргается.
60 кадров рендерятся за 6 мс. Один кадр (физика, коллизия, AI) — за 300 мс. Среднее frametime ≈ 10.8 мс → FPS ≈ 92. Счётчик показывает 92. А ты только что просидел 300 миллисекунд на одном кадре — это треть секунды. Игра «замерла».
Это не философия. Это не мнение. Это математика. И сейчас ты убедишься в этом сам — на реальных данных.
Твой первый график. Научись видеть то, что скрывает счётчик FPS
Вот реальный график frametime из Cyberpunk 2077. Запись — 180 секунд игрового процесса на RTX 3070 + Ryzen 5600X. Ультра-настройки, район Kabuki. Сейчас ты научишься читать этот график за две минуты. После этого ты больше никогда не будешь смотреть только на счётчик FPS.
Frametime стабилен (11–13 мс). Каждый кадр приходит строго по расписанию. Средний FPS ≈ 85. Картинка льётся.
Пять спайков за 180 секунд. Каждый — кадр, опоздавший в 3–5 раз. Счётчик FPS их усредняет. Твой глаз — нет.
Средний FPS за сессию: ~100. 0.1% Low: 26 FPS. Именно эти 0.1% ты чувствуешь как «невидимые кочки».
Шаг 1: Найди зелёную зону
Видишь участок, где линия идёт ровно, почти без колебаний? Значения frametime держатся в районе 11–13 миллисекунд. Никаких резких скачков. Это — плавность. В этой зоне каждый кадр приходит строго по расписанию. Средний FPS здесь — около 85. Но дело не в цифре 85. Дело в том, что frametime НЕ ПРЫГАЕТ. Твой монитор получает кадры как метроном: раз, раз, раз.
Что ты чувствуешь в этой зоне: идеально плавное движение. Поворот камеры — как нож сквозь масло. Никаких «кочек». Пересчитаем для проверки: 1000 / 11.8 мс ≈ 85 FPS. Но FPS здесь — не главный герой. Главный герой — ровная линия.
Шаг 2: Найди красную зону
А теперь посмотри на участки, где линия frametime резко уходит вверх. Один кадр занял 38 миллисекунд вместо обычных 12. Это в три раза дольше. 1000 / 38 мс = 26 FPS на один кадр. Твой счётчик FPS в этот момент покажет что? Среднее за последнюю секунду. Если остальные кадры шли по 7 мс (143 FPS), а один кадр — 38 мс (26 FPS), среднее всё равно будет около 130–140. Счётчик даже не дёрнется.
Что ты чувствуешь в этой зоне: та самая «невидимая кочка». Микро-запинка при повороте камеры. Будто кто-то нажал паузу на долю секунды.
Шаг 3: Сравни частоту спайков
Теперь посмотри на график целиком. Каждые 10–20 секунд — ещё один спайк. Пять красных спайков за три минуты игры. Каждый — микро-фриз. Каждый — та самая «кочка». Средний FPS за всю сессию? Около 100–110. Но ты чувствовал эти пять моментов.
Ты теперь знаешь, как читать график frametime:
- Зелёная ровная линия = плавность
- Красный спайк = микро-фриз
- N Частота красных спайков = насколько комфортно играть
И ты, возможно, уже задаёшь себе следующий вопрос: «А кто создаёт эти спайки? Почему видеокарта, которая только что выдавала 12 мс, внезапно тратит 38 мс на один кадр?» Отличный вопрос. Давай проведём расследование.
Расследование. Кто убивает твою плавность?
У нас есть улика: спайки frametime на графике. Конкретный стенд: RTX 3070 + Ryzen 5600X + 32 ГБ DDR4-3600. На этом железе — четыре подозреваемых. У каждого — мотив и возможность. Давай допросим каждого.
Видеокарта RTX 3070 (GPU)
Не успевает отрендерить кадр вовремя — слишком высокие настройки графики, трассировка лучей, высокое разрешение.
Смотрим GPU Busy. Если спайк frametime совпадает со спайком GPU Busy — виновата видеокарта. Если GPU Busy низкий — GPU ждала кого-то другого.
Процессор Ryzen 5600X (CPU)
CPU отвечает за симуляцию физики, AI, коллизии, и — самое главное — за draw calls. Если на сцене много объектов, CPU захлёбывается в подготовке команд. GPU простаивает.
Смотрим загрузку CPU в момент спайка. Если одно или несколько ядер загружены до 100% — CPU не справляется. Это классический CPU bottleneck.
Память: 32 ГБ DDR4-3600 / 8 ГБ VRAM
Нехватка места или медленный доступ. Если игра упёрлась в объём видеопамяти (VRAM) или оперативной памяти (RAM), система начинает сбрасывать данные на диск. Результат — гигантские спайки frametime.
Смотрим занятость VRAM и RAM. Если VRAM занята на 100% — возможен swapping. На графике это выглядит как очень длинные спайки (100+ мс).
Драйверы и софт — фоновая нагрузка
Драйвер видеокарты компилирует шейдеры «на лету» (shader compilation stutter). Или фоновый процесс (Windows Update, антивирус, Discord overlay) ворует ресурсы CPU.
Shader stutter имеет характерный паттерн — спайки при ПЕРВОМ проходе локации и исчезновение при повторном. Фоновые процессы — мониторим диспетчером задач.
[ОБВИНЯЕМЫЙ]: CPU (Ryzen 5600X)
[СТАТЬЯ]: Draw call overload → GPU starvation → frametime spikes
[УЛИКИ]: Загрузка CPU 95–100% в момент каждого спайка. GPU Busy — низкий.
[ПРИГОВОР]: CPU bottleneck. Процессор не справляется с подготовкой кадров для RTX 3070.
Но это не значит, что тебе нужно менять процессор прямо сейчас. Важно другое: ты теперь знаешь, ГДЕ искать причину. Раньше ты просто крутил настройки графики наугад. Теперь ты знаешь, что проблема не в тенях и не в RTX — проблема в процессоре. И это значит, что снижение дальности прорисовки и плотности толпы (настройки, нагружающие CPU) даст больший эффект, чем снижение качества текстур (нагрузка на GPU).
Ты перестал гадать. Ты знаешь.
Твои новые правила. Что ты унесёшь с собой
Ты прошёл путь от «счётчик FPS — главное» до «frametime — причина, FPS — следствие». Теперь — правила, которые ты будешь применять каждый раз, когда запускаешь игру или смотришь обзор железа.
Смотри на 1% low, а не на средний FPS.
Если в бенчмарке у видеокарты средний FPS — 120, а 1% low — 44, игра будет дёргаться. Периодически. Неважно, какой средний счётчик. Порог: 1% low > 60 FPS. Ниже — будешь чувствовать «кочки».
График frametime не должен иметь спайков.
Ровная линия = плавность. Красные зубцы = микро-фризы. Когда смотришь тесты — ищи график frametime, а не только столбики FPS. CapFrameX, Gamers Nexus, Hardware Unboxed — все они показывают frametime. Научись его читать. Ты уже умеешь.
Стабильность важнее количества.
85 FPS с ровным frametime ощущаются плавнее, чем 144 FPS с джиттером. Если выбираешь между настройками — жертвуй средним FPS в пользу стабильности. Ограничь частоту кадров (frame cap) до уровня, который твоя система держит СТАБИЛЬНО.
Ищи узкое горло правильно.
- → Спайки frametime + загрузка CPU под 100% → снижай настройки процессора (дальность прорисовки, плотность толпы, физика)
- → Спайки frametime + высокая загрузка GPU → снижай настройки графики (тени, отражения, RT)
- → Спайки при открытии меню / карты / инвентаря → это не баг, это фича кривого UI (ты тут ничего не сделаешь)
Frame cap — твой лучший друг.
Ограничение частоты кадров (через RTSS, внутриигровой ограничитель или драйвер) выравнивает frametime лучше, чем V-Sync. V-Sync добавляет задержку. Frame cap — нет. Выставь ограничение на уровень, который твоя система держит стабильно в 95% сцен.
Средний FPS на коробке с видеокартой — маркетинг.
NVIDIA и AMD показывают тебе средний FPS, потому что это самая большая и красивая цифра. Но она не говорит о плавности ничего. Когда в следующий раз увидишь обзор железа — промотай до графика frametime. Если его нет — тест неполный.
Эти шесть правил — твой новый инструментарий. Ты больше не смотришь на игры и железо как обычный геймер. Ты смотришь как человек, который знает, что скрывается за цифрами. И сейчас ты докажешь это себе сам.
Помнишь тот первый график? Теперь ты знаешь
Вернёмся к самому началу. Вот они снова — два сетапа.
Сетап A или Сетап B?
В начале этого материала ты выбрал B. 144 FPS. «Конечно, B — это же почти в два раза больше.» И это был рациональный выбор. Основанный на всём, чему тебя учила индустрия.
Теперь у тебя есть другой инструмент. Ты знаешь, что FPS — это среднее. Ты знаешь, что frametime — причина, а FPS — следствие. Ты знаешь, что красные спайки на графике означают микро-фризы. И ты знаешь, что стабильность важнее количества.
Сетап A или Сетап B?
Не смотри на цифры FPS. Вспомни графики. Сетап A: ровная зелёная линия. Frametime — 11.8 мс, почти без отклонений. Ни одного спайка за три минуты. Метроном, который не сбивается. Сетап B: красные зубцы каждые 10–20 секунд. Frametime взлетает до 38, 52, 62 мс. Пять микро-фризов за три минуты.
Ты выбираешь A.
Не потому что я тебе сказал. А потому что теперь ты видишь то, что скрывается за цифрой FPS.
Вот что произошло
за последние десять минут.
Ты пришёл сюда с одной рамкой: «FPS = плавность». Это работало. Объясняло мир. Позволяло принимать решения. Ты уходишь с другой рамкой: «Стабильность frametime = плавность. FPS = среднее арифметическое, которое скрывает правду.» Это не просто новый факт. Это новая оптика.
Теперь, когда ты запустишь игру и почувствуешь «невидимую кочку» — ты не полезешь в настройки графики наугад. Ты откроешь CapFrameX, посмотришь на график frametime и скажешь: «Ага. Вот он. Красный спайк. Процессор не справляется с draw calls. Нужно снизить плотность толпы.»
Ты перестал быть пассивным потребителем цифр на коробке. Ты стал инженером собственного игрового опыта.
ИгроЛаба
Разборы железа, инженерный тру-крайм и закрытый клуб тех, кто хочет видеть суть, а не маркетинг.
Ты заплатил за 48 ГБ
— и проиграл
Этот материал — часть первого выпуска ИгроЛабы. Вернуться к выпуску