Почему игра дёргается при высоком FPS и как найти причину
Счётчик показывает много FPS, а картинка всё равно подёргивается. Обычно дело не в среднем FPS, а в отдельных долгих кадрах. Объясняем разницу и даём воспроизводимый сценарий замера в FPS Lab.
Короткий ответ
Средний FPS говорит, сколько кадров в среднем выходит за секунду. Рывок — это отдельный кадр, который рисовался намного дольше соседних. Несколько таких кадров почти не меняют среднее, но глаз их замечает. Поэтому смотрите на время кадра и 1% low, а причину ищите сериями замеров одной и той же сцены, меняя между сериями только одно.
Средний FPS и время кадра
При 60 FPS на кадр в среднем приходится 16,7 мс (1000 ÷ 60). Если почти все кадры идут по 16 мс, а четыре — по 46 мс, среднее остаётся теми же 60 FPS, но в эти четыре момента картинка замирает почти на три кадра. Ниже два прогона по 200 кадров с одинаковым средним.
Средний FPS одинаковый, а 1% low отличается почти втрое. В NyxBoost 1% low — это 1000, делённое на 99-й процентиль времени кадра, то есть FPS самых медленных 1% кадров. Ещё FPS Lab считает рывки: кадры дольше двух медиан и минимум на 8 мс длиннее медианы. В ровном прогоне их 0, во втором — 4.
Откуда берутся долгие кадры
- Подгрузка. Игра компилирует шейдеры или читает с диска новую локацию. Такие рывки часто пропадают, когда проходишь ту же сцену второй раз.
- Фоновая работа. Установка обновлений, проверка антивирусом, фоновая запись Xbox Game Bar, синхронизация облака.
- Процессор. Он упирается в потолок или сбрасывает частоту: схема питания, ограничение мощности на ноутбуке, перегрев.
- Подача кадров на экран. Ограничитель кадров, V-Sync и частота монитора в неудачном сочетании дают неравномерный ритм.
Какая причина ваша, гадать не нужно: это проверяется замером.
Сценарий замера в FPS Lab
FPS Lab — бесплатная часть NyxBoost. Кадры она берёт из Intel PresentMon: он записывает время показа каждого кадра через трассировку событий Windows (ETW). При первом замере NyxBoost скачивает PresentMon с официальной страницы Intel и проверяет файл.
- Откройте «Игры» → «Мои игры» и выберите игру слева. Карточка FPS LAB — последняя справа; кнопка «Сравнить производительность» на карточке игры прокручивает к ней.
- Выберите сцену, которую легко повторить: встроенный бенчмарк, один и тот же маршрут или одну точку на карте. Разрешение и графику игры не меняйте — NyxBoost их не записывает, держать их одинаковыми придётся вам.
- Отметьте «До изменений», выберите «Длительность замера» (по умолчанию 60 с), запустите игру, дойдите до сцены и нажмите «Замерить». Прогон, прерванный кнопкой «Остановить», не сохраняется.
- Повторите минимум три раза: с меньшим числом прогонов FPS Lab серии не сравнивает.
- Сделайте одно изменение — например, выключите фоновую запись Game Bar или смените схему питания.
- Отметьте «После изменений» и снимите ещё три прогона той же сцены.
Как читать результат
- Быстрее или медленнее. FPS Lab засчитывает разницу, только если все прогоны «после» быстрее (или медленнее) всех прогонов «до». Иначе вердикт — «В пределах погрешности»: разница меньше разброса между прогонами.
- «Серии несопоставимы». Условия разъехались: ноутбук то от батареи, то от сети, сменился драйвер видеокарты, прогоны разной длины, процессор был загружен больше чем на 30% перед замером или внутри одной серии менялись схема питания и настройки. Переснимите серии.
- Средний FPS тот же, а 1% low вырос. Это и есть меньше рывков, даже если счётчик в углу не изменился.
- Рывки на месте. Изменение не про вашу причину. Верните его — у каждой настройки NyxBoost есть «Откатить» — и проверьте следующую гипотезу.
Под каждым замером FPS Lab показывает разбор: что, судя по данным, ограничивает кадры, насколько это уверенно и какие есть другие объяснения.
Следующий шаг
Начните с самых дешёвых гипотез: фоновая запись, схема питания, игровой режим. Что вообще влияет на FPS, а что нет, — в общем гайде. Проверяйте каждую гипотезу отдельной серией и оставляйте только то, что FPS Lab признал разницей.