Вып. #105//Май 2025// Техническое расследование//Автор: Евгений Кайзин
Плавность

Почему 120 FPS ощущаются как 40 А 85 — как масло

Одна метрика, которую индустрия прячет 20 лет. Frametime переворачивает причину и следствие — и ты больше никогда не посмотришь на обзор железа как раньше.

120 FPS — 8.3ms target VS 85 FPS — 11.7ms target
FRAME TIME
[[ Часть_01 ]] // Scene

Момент, когда цифры врут

Т Объект исследования // 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. А в конце — вернёшься к первому выбору и сам скажешь, какой сетап лучше. И ты будешь прав.

[[ Часть_02 ]] // Experiment

Эксперимент, который сломает твоё понимание FPS

Представь: один и тот же компьютер. Одна и та же игра — Cyberpunk 2077 на ультрах. Одинаковый маршрут, одинаковые условия. Никаких читов.

Я записал две сессии телеметрии. И сейчас покажу тебе только цифры. Никаких графиков — просто два числа.

Сетап A
85
Средний FPS
Сетап B
144
Средний FPS

Сделай выбор. Какой сетап был плавнее?

Ты выбираешь B. 144 FPS. Конечно, B. Это же почти в два раза больше. Счётчик не врёт. Математика на твоей стороне.

А теперь смотри на frametime ? — время рендеринга каждого отдельного кадра в миллисекундах. Это не FPS. Это то, из чего FPS получается.

Сетап A — 85 FPS

Ровная линия. Почти идеальная. Frametime колеблется в пределах 11–13 миллисекунд. Ни одного резкого скачка за три минуты. Метроном, который не сбивается.

Сетап B — 144 FPS

Хаотичная линия с красными спайками до 40–60 мс каждые 5–15 секунд. Видишь эти красные зубцы? Это моменты, когда видеокарта «спотыкается». Один кадр — 7 мс. Следующий — вдруг 52 мс.

Когда ты играешь на Сетапе A (85 FPS), каждый новый кадр приходит строго по расписанию — каждые 11.8 миллисекунд. Раз, раз, раз. Как часы. Твой мозг привыкает к ритму. Картинка течёт.

Когда ты играешь на Сетапе B (144 FPS), большинство кадров приходят быстро — каждые 7 миллисекунд. Но внезапно один кадр задерживается на 52 миллисекунды. Это в семь раз дольше, чем должен. Твой глаз регистрирует задержку. И ты чувствуешь микро-рывок.

Средний FPS у Сетапа B? 144. Впечатляет. Ощущение? Дёрганая картинка с «невидимыми кочками».

Как 85 FPS могут быть плавнее, чем 144?

Чтобы ответить на этот вопрос, нам нужно понять, что вообще такое frametime. И лучший способ это сделать — послушать метроном.

[[ Часть_03 ]] // Mechanics

Метроном, который ты слышишь, но не замечаешь

Отвлекись на минуту от игр. Представь метроном. Классический механический метроном: стрелка качается влево-вправо, и каждое качание сопровождается щелчком. Если выставить темп 120 ударов в минуту — метроном щёлкает строго каждые 500 миллисекунд. Раз. Раз. Раз. Ты можешь закрыть глаза и мысленно продолжить ритм — он предсказуем. Мозг синхронизируется с ним.

А теперь представь, что метроном сломался. Он всё ещё делает в среднем 120 ударов в минуту. Но интервалы между щелчками плывут: 300 мс, 800 мс, 450 мс, 900 мс. Среднее — 500 мс, как и было. 120 ударов в минуту. Но слушать это невозможно. Ритм разрушен. Мозг не может синхронизироваться. Ты морщишься.

Стабильный метроном 85 FPS ощущение
Интервал 500 мс
Джиттер 0 мс
Ритм ПРЕДСКАЗУЕМ
Ударов 0
Сломанный метроном 144 FPS ощущение
Интервал 500 мс
Джиттер ±250 мс
Ритм ХАОС
Ударов 0

Среднее у обоих — 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 их усредняет и прячет.

[[ Часть_04 ]] // Formula

Переворот. Frametime создаёт FPS, а не наоборот

Ты всю жизнь думал так:

1 Видеокарта рендерит сцены
2 получается FPS
3 FPS определяет плавность

И вот здесь — самый важный момент этого материала. Перечитай его дважды, если нужно.

ФОРМУЛА

Видеокарта рендерит КАЖДЫЙ КАДР за определённое время
→ это время называется frametime
→ из frametime ВЫЧИСЛЯЕТСЯ FPS
→ плавность зависит от СТАБИЛЬНОСТИ frametime, а не от FPS

FPS — это не причина. FPS — это следствие. FPS — это просто обратная величина среднего frametime. Математическая производная. Удобная цифра для коробки с видеокартой. Маркетинговая метрика.

Три доказательства

Пример 1: Идеальная плавность

Каждый кадр рендерится ровно за 16.7 мс. Это 60 кадров в секунду. Frametime стабилен → картинка плавная. FPS = 60.

Пример 2: Скрытая проблема

Девять кадров рендерятся за 7 мс. Один кадр — за 55 мс. Среднее frametime = (9×7 + 55) / 10 = 11.8 мс → FPS ≈ 85. Но в реальности — секундный микро-фриз каждые 10 кадров. Игра дёргается.

Пример 3: Маркетинговый развод

60 кадров рендерятся за 6 мс. Один кадр (физика, коллизия, AI) — за 300 мс. Среднее frametime ≈ 10.8 мс → FPS ≈ 92. Счётчик показывает 92. А ты только что просидел 300 миллисекунд на одном кадре — это треть секунды. Игра «замерла».

"Не FPS создаёт плавность. Стабильность frametime создаёт плавность. А FPS — это просто среднее арифметическое, которое прячет правду."

Это не философия. Это не мнение. Это математика. И сейчас ты убедишься в этом сам — на реальных данных.

[[ Часть_05 ]] // Road

Твой первый график. Научись видеть то, что скрывает счётчик FPS

Вот реальный график frametime из Cyberpunk 2077. Запись — 180 секунд игрового процесса на RTX 3070 + Ryzen 5600X. Ультра-настройки, район Kabuki. Сейчас ты научишься читать этот график за две минуты. После этого ты больше никогда не будешь смотреть только на счётчик FPS.

Зелёная зона — стабильный frametime
Красная зона — микро-фриз
Frametime, мс — Cyberpunk 2077, 180 сек, RTX 3070 + Ryzen 5600X, Ultra
Зелёная зона

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 мс на один кадр?» Отличный вопрос. Давай проведём расследование.

[[ Часть_06 ]] // Investigation

Расследование. Кто убивает твою плавность?

У нас есть улика: спайки frametime на графике. Конкретный стенд: RTX 3070 + Ryzen 5600X + 32 ГБ DDR4-3600. На этом железе — четыре подозреваемых. У каждого — мотив и возможность. Давай допросим каждого.

Подозреваемый №1 — RTX 3070

Видеокарта RTX 3070 (GPU)

Мотив

Не успевает отрендерить кадр вовремя — слишком высокие настройки графики, трассировка лучей, высокое разрешение.

Проверка

Смотрим GPU Busy. Если спайк frametime совпадает со спайком GPU Busy — виновата видеокарта. Если GPU Busy низкий — GPU ждала кого-то другого.

Вердикт: Не виновен. GPU Busy не показывает скачков в моменты спайков. Видеокарта НЕ была перегружена. Она ждала.
Подозреваемый №2 — Ryzen 5600X

Процессор Ryzen 5600X (CPU)

Мотив

CPU отвечает за симуляцию физики, AI, коллизии, и — самое главное — за draw calls. Если на сцене много объектов, CPU захлёбывается в подготовке команд. GPU простаивает.

Проверка

Смотрим загрузку CPU в момент спайка. Если одно или несколько ядер загружены до 100% — CPU не справляется. Это классический CPU bottleneck.

Вердикт: Виновен. В момент каждого спайка два ядра Ryzen 5600X загружены под 95–100%. GPU Busy остаётся низким. Процессор не может вовремя отправить команды видеокарте.
Подозреваемый №3 — 32 ГБ DDR4 / 8 ГБ VRAM

Память: 32 ГБ DDR4-3600 / 8 ГБ VRAM

Мотив

Нехватка места или медленный доступ. Если игра упёрлась в объём видеопамяти (VRAM) или оперативной памяти (RAM), система начинает сбрасывать данные на диск. Результат — гигантские спайки frametime.

Проверка

Смотрим занятость VRAM и RAM. Если VRAM занята на 100% — возможен swapping. На графике это выглядит как очень длинные спайки (100+ мс).

Вердикт: Не виновен. VRAM занята на 7.2 ГБ из 8 ГБ — близко к лимиту, но не превышает. RAM — 14 ГБ из 32. Спайки короткие (30–60 мс), а не длинные (100+ мс).
Подозреваемый №4 — Фоновые процессы

Драйверы и софт — фоновая нагрузка

Мотив

Драйвер видеокарты компилирует шейдеры «на лету» (shader compilation stutter). Или фоновый процесс (Windows Update, антивирус, Discord overlay) ворует ресурсы CPU.

Проверка

Shader stutter имеет характерный паттерн — спайки при ПЕРВОМ проходе локации и исчезновение при повторном. Фоновые процессы — мониторим диспетчером задач.

Вердикт: Возможный соучастник. Часть спайков совпадает с загрузкой новых ассетов (перемещение по Kabuki). Asset streaming + CPU bottleneck одновременно.
ИТОГ РАССЛЕДОВАНИЯ

[ОБВИНЯЕМЫЙ]: CPU (Ryzen 5600X)

[СТАТЬЯ]: Draw call overload → GPU starvation → frametime spikes

[УЛИКИ]: Загрузка CPU 95–100% в момент каждого спайка. GPU Busy — низкий.

[ПРИГОВОР]: CPU bottleneck. Процессор не справляется с подготовкой кадров для RTX 3070.

Но это не значит, что тебе нужно менять процессор прямо сейчас. Важно другое: ты теперь знаешь, ГДЕ искать причину. Раньше ты просто крутил настройки графики наугад. Теперь ты знаешь, что проблема не в тенях и не в RTX — проблема в процессоре. И это значит, что снижение дальности прорисовки и плотности толпы (настройки, нагружающие CPU) даст больший эффект, чем снижение качества текстур (нагрузка на GPU).

Ты перестал гадать. Ты знаешь.

Новые статьи выходят каждую неделю. Подписывайся, чтобы не потерять. [VK | Telegram]

[[ Часть_07 ]] // Rules

Твои новые правила. Что ты унесёшь с собой

Ты прошёл путь от «счётчик FPS — главное» до «frametime — причина, FPS — следствие». Теперь — правила, которые ты будешь применять каждый раз, когда запускаешь игру или смотришь обзор железа.

>_ ПРАВИЛО №1

Смотри на 1% low, а не на средний FPS.

Если в бенчмарке у видеокарты средний FPS — 120, а 1% low — 44, игра будет дёргаться. Периодически. Неважно, какой средний счётчик. Порог: 1% low > 60 FPS. Ниже — будешь чувствовать «кочки».

>_ ПРАВИЛО №2

График frametime не должен иметь спайков.

Ровная линия = плавность. Красные зубцы = микро-фризы. Когда смотришь тесты — ищи график frametime, а не только столбики FPS. CapFrameX, Gamers Nexus, Hardware Unboxed — все они показывают frametime. Научись его читать. Ты уже умеешь.

>_ ПРАВИЛО №3

Стабильность важнее количества.

85 FPS с ровным frametime ощущаются плавнее, чем 144 FPS с джиттером. Если выбираешь между настройками — жертвуй средним FPS в пользу стабильности. Ограничь частоту кадров (frame cap) до уровня, который твоя система держит СТАБИЛЬНО.

>_ ПРАВИЛО №4

Ищи узкое горло правильно.

  • → Спайки frametime + загрузка CPU под 100% → снижай настройки процессора (дальность прорисовки, плотность толпы, физика)
  • → Спайки frametime + высокая загрузка GPU → снижай настройки графики (тени, отражения, RT)
  • → Спайки при открытии меню / карты / инвентаря → это не баг, это фича кривого UI (ты тут ничего не сделаешь)
>_ ПРАВИЛО №5

Frame cap — твой лучший друг.

Ограничение частоты кадров (через RTSS, внутриигровой ограничитель или драйвер) выравнивает frametime лучше, чем V-Sync. V-Sync добавляет задержку. Frame cap — нет. Выставь ограничение на уровень, который твоя система держит стабильно в 95% сцен.

>_ ПРАВИЛО №6

Средний FPS на коробке с видеокартой — маркетинг.

NVIDIA и AMD показывают тебе средний FPS, потому что это самая большая и красивая цифра. Но она не говорит о плавности ничего. Когда в следующий раз увидишь обзор железа — промотай до графика frametime. Если его нет — тест неполный.

Эти шесть правил — твой новый инструментарий. Ты больше не смотришь на игры и железо как обычный геймер. Ты смотришь как человек, который знает, что скрывается за цифрами. И сейчас ты докажешь это себе сам.

[[ Часть_08 ]] // End

Помнишь тот первый график? Теперь ты знаешь

Вернёмся к самому началу. Вот они снова — два сетапа.

Сетап A
85
Средний FPS
Frametime стабилен
Сетап B
144
Средний FPS
5 микро-фризов за 3 мин

Сетап 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. Нужно снизить плотность толпы.»

Ты перестал быть пассивным потребителем цифр на коробке. Ты стал инженером собственного игрового опыта.

ТЕЛЕГРАМ-КАНАЛ

ИгроЛаба

Разборы железа, инженерный тру-крайм и закрытый клуб тех, кто хочет видеть суть, а не маркетинг.

В КАНАЛ
NEXT
Продолжение Технический отчет // HA-01

Ты заплатил за 48 ГБ
— и проиграл

«Как tRFC и tREFI съедают плавность, и почему плотный кремний требует ручной настройки.»
ЧИТАТЬ ДАЛЬШЕ
ТЮНИНГ ПАМЯТИ DDR5
ПРОТОКОЛ_HA // ВЕРДИКТ_ВЫНЕСЕН АВТОРСКИЕ ПРАВА © 2026 ЖЕЛЕЗНЫЙ АРГУМЕНТ

SYS: ONLINE // DOC-ID: FPS-FT-105 // CLASSIFICATION: RESTRICTED // ARCHIVE: ИГРОЛАБА 2026

Разработан и поддерживается Евгением Кайзиным

BUILD:ISSUE-ALPHA
CHECKSUM:0xF3A1C9E2
CLASSIFICATION: RESTRICTED · CLEARANCE: ENGINEERING