TextFizz
  1. Главная
  2. Гайды
  3. Просадки FPS и фризы: как найти настоящую причину
Fix

Просадки FPS и фризы: как найти настоящую причину

Перегрев, нехватка памяти и фоновый процесс рисуют три разных графика. Что мерить, чем мерить бесплатно и как отличить одно от другого за один вечер.

Обновлено: ·7 мин чтения

Фризы и низкий средний FPS — это две разные поломки с разным лечением, и быстрее всего они разделяются, если перестать смотреть на счётчик кадров и начать писать фреймтайм. Три причины дают три узнаваемые формы: перегрев роняет производительность через несколько минут и держит внизу, нехватка памяти даёт долгие замирания с активностью диска, фоновый процесс — одиночные всплески с периодичностью. Покадровые данные бесплатно снимает Intel PresentMon; дальше весь гайд про то, как их читать.

Коротко

  • Пишите фреймтайм, а не средний FPS: один кадр на 50 мс в секунду среднее почти не сдвинет, а вы его почувствуете.
  • Перегрев — это плавный спад, который не отпускает до конца сессии: частота падает, температура стоит на потолке.
  • Нехватка памяти — это долгие замирания с активностью диска, а не более низкое среднее.
  • Фоновая программа — это одиночные всплески по расписанию: скан, синхронизация, проверка обновлений.
  • Меняйте по одному и перезамеряйте. Два изменения разом — ноль знаний о каждом.

Три формы просадки и чем их снимать

Прежде чем что-то крутить, определите форму. Она видна на графике длительностей кадров за одну сессию и почти не допускает двойных толкований.

Что происходит Как выглядит на графике Куда смотреть дальше
Перегрев Первые минуты ровно, дальше ступенька вниз и так до конца Частоты и температура на одной шкале
Нехватка памяти Редкие провалы на 0,5–2 секунды, диск занят Выделенная память и активность диска
Фоновый процесс Одиночные пики с периодичностью Список процессов и планировщик
Тяжёлая сцена движка Всплеск в конкретном месте карты, повторяемый Настройки дальности и теней
Проблема на стороне ввода Кадры ровные, «дёргается» прицел Тесты мыши и опроса

Последняя строка — самая обидная: на графике всё гладко, а играть невозможно. Про неё отдельный раздел ниже.

Intel PresentMon — опорный инструмент, открытый и бесплатный. Он пишет длительности и задержки кадров по процессору, видеокарте и выводу на экран, работает с DirectX, OpenGL и Vulkan и выгружает покадровый CSV.

Служба PresentMon добавляет телеметрию железа — мощность, температуру и загрузку видеокарты через API производителя вроде NVAPI, — и температура с кадрами оказываются на одной временной шкале. NVIDIA FrameView, AMD OCAT, CapFrameX и RivaTuner Statistics Server построены на той же библиотеке сбора.

Две оговорки из документации самого проекта, каждая стоит потерянного вечера:

  • Нужно состоять в группе «Performance Log Users», иначе захват падает с ошибкой доступа при старте трассировки.
  • На OpenGL и Vulkan данных меньше. Такие игры показывают runtime «Other», задержка пейсинга кадров на CPU всегда пишется как 0, а время кадра на CPU чуть менее точно.

Ещё одно, прежде чем верить цифре: при включённом аппаратном планировании GPU проект прямо предупреждает, что метрики работы видеокарты менее точны и могут оказаться завышенными.

Это перегрев?

Обычно ответ находится за одну сессию и без отвёртки. У троттлинга форма, которую больше ничто не повторяет: первые минуты нормально, температура растёт и упирается в потолок, и с этого момента частота падает, хотя нагрузка не изменилась.

Проверка именно в последнем. Сама по себе температура не доказывает ничего: чип на пределе, держащий полную частоту, делает свою работу. Важно, падает ли частота в тот момент, когда температура перестала расти.

За этим стоят две физические причины, обе названы в PC Optimization Hub: забитые радиаторы и пылевые фильтры снижают продув и, соответственно, отвод тепла, а температура в комнате заметно двигает температуру компонентов — одна и та же машина ведёт себя по-разному в июле и в январе.

Если троттлит ноутбук, дешёвые победы снаружи корпуса: приподнять заднюю часть, освободить забор воздуха и перезамерить в то же время суток. А игру, которой и без того тесно на слабой машине, стоит пройти по настройкам — логика из гайда про Minecraft на слабом ПК переносится на любой движок.

Это нехватка памяти?

Нехватка памяти не выглядит как более низкое среднее. Она выглядит как замирание на секунду и больше, под которым занят диск, а потом игра идёт дальше как ни в чём не бывало.

Описание файла подкачки у Microsoft объясняет механику: это скрытый системный файл, который позволяет убрать из физической памяти редко используемые изменённые страницы, чтобы оперативная память обслуживала то, к чему обращаются чаще. Когда игра просит больше, чем есть свободного, эта выгрузка происходит прямо во время игры и идёт со скоростью вашего накопителя.

Значит, вопрос не «сколько у меня памяти», а «уходит ли система в подкачку в бою». Смотрите выделенную память за всю сессию, а не в меню, и активность диска ровно в секунду замирания. Совпало — это память. Не двигается ни то ни другое — покупать планки рано.

У Microsoft есть и отдельная страница про размер файла подкачки, и её рамка полезна: файл подкачки обеспечивает аварийные дампы и расширяет объём выделяемой системой памяти. Это не ручка для повышения FPS.

Фоновые программы и чем смотреть на нагрузку

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

Список Valve называет категории прямо: антивирусы, глубоко влезающие в дисковые операции, программы записи, менеджеры и «ускорители» загрузок, P2P-клиенты, чистильщики системы, фильтры трафика. Отключать их предлагается на время проверки — глагол здесь важен: вы доказываете причину, а не сносите себе защиту навсегда.

Две штуки, которые люди делают себе сами:

  • Загрузка в магазине во время игры. Она делит с игрой и диск, и канал. Если у вас и так всё качается медленно, посмотрите почему Steam качает медленно.
  • Оверлей мониторинга. PC Optimization Hub отмечает, что сами программы мониторинга заметно бьют по производительности, и советует не держать их включёнными во время стресс-тестов. Тяжёлый инструмент меняет то, что вы им измеряете.

Диспетчер задач в этой истории — отправная точка, а не доказательство: тот же источник напоминает, что загрузку ядер он показывает поверхностно и не учитывает переключение контекста, и предлагает Process Explorer для реальной картины и Autoruns для того, что действительно стартует с Windows.

Настройки, которые двигают фреймтайм

Не каждая графическая опция влияет на фризы. Разрешение и качество текстур в основном двигают среднее; всплески дают те настройки, из-за которых движок делает работу посреди сцены: дальность прорисовки и стриминга, разрешение теней и отражений, подгрузка новых ассетов на бегу.

Метод скучный и рабочий: меняем одну настройку, проходим один и тот же маршрут, сравниваем графики. Маршрут здесь важнее встроенного бенчмарка, потому что фризы живут в переходах — вход в новую зону, первый показ нового эффекта, бой после тихого коридора.

Наши гайды по настройкам собраны так же — с объяснением, а не копипастой пресета: Apex Legends, Fortnite и FPS в Roblox. Параметры запуска — отдельный рычаг, вокруг которого много мёртвых советов: в гайде по параметрам запуска CS2 отмечено, что движок ещё читает.

Когда фриз вообще не в кадрах

Этот случай удивляет. Если на графике кадры ровные, а прицел дёргается, проблема на стороне ввода, и никакая графическая настройка её не тронет.

Две проверки разводят случаи за минуту. Тест частоты опроса показывает, как часто мышь реально отчитывается, и молчаливое падение с заявленной частоты перестаёт быть теорией. Тест мыши показывает движение курсора и частоту событий на площадке и ловит рывки и замирания, идущие от сенсора, кабеля или энергосбережения USB, а не от видеокарты. Если же «тормозит» вообще всё, а не одна игра, тест реакции даст базовую цифру, не окрашенную настроением сегодняшнего матча.

Полный разбор входной стороны — в гайде про рывки и лаг мыши; если вместо этого пропадают нажатия, вам в клавиатуру, которая не отвечает в игре.

Что обычно идёт не так

  • Погоня за средним. Симптом: счётчик показывает 140, играть невозможно. Почему: среднее прячет всплески. Что делать: снять фреймтайм и смотреть худшие кадры сессии.
  • Вердикт по одному взгляду на температуру. Симптом: «восемьдесят градусов, вот и причина». Почему: чип на пределе с полной частотой работает нормально, троттлинг — это падение частоты. Что делать: писать частоты и температуру вместе и искать момент их расхождения.
  • Замер с включённым оверлеем мониторинга. Симптом: результаты меняются от самого факта логирования. Почему: у мониторинга есть измеримая цена. Что делать: писать CSV вместо наблюдения за оверлеем.
  • Пять изменений за раз. Симптом: стало лучше, и никто не знает почему. Почему: нет изоляции. Что делать: одно изменение — один замер — запись, ровно та методика, с которой начинается PC Optimization Hub.
  • Обвинение видеокарты в фризе раз в три минуты. Симптом: ровные пики, низкая загрузка GPU. Почему: плановый скан, синхронизация или проверка обновлений. Что делать: отключить подозреваемых на один тестовый заход и включать по одному.

Полезный итог такого вечера — не набор настроек, а одна фраза: «у меня фризы от нагрева» или «у меня фризы от фонового скана». После неё починка обычно дешёвая и точечная. А если игра не просто дёргается, а закрывается, диагноз другой — начинайте с вылетов при запуске.

Вопросы и ответы

Почему счётчик FPS показывает много, а игра дёргается?

Потому что среднее прячет ровно те кадры, которые вы чувствуете. Один кадр на 50 мс среди кадров по 8 мс почти не двигает среднее значение. Снимайте фреймтайм: Intel PresentMon пишет длительности кадров по CPU, GPU и выводу на экран покадрово, а NVIDIA FrameView и AMD OCAT построены на тех же данных. Смотреть надо на всплески, а не на среднее.

Как отличить троттлинг от всего остального?

Смотреть частоты и температуру вместе на протяжении нескольких минут, а не один раз глазом. У троттлинга своя подпись: первые минуты всё нормально, температура доходит до потолка и там замирает, и с этого момента частота падает, хотя нагрузка та же. Служба PresentMon читает мощность, температуру и загрузку видеокарты через API производителя, так что всё это ложится на одну шкалу времени с кадрами.

Поможет ли докупить оперативной памяти?

Только если упирается именно в неё, и это проверяется до похода в магазин. Следите за выделенной памятью в течение всей сессии: если система регулярно вынуждена выгружать страницы, это она. Microsoft описывает файл подкачки как расширение, позволяющее убрать из физической памяти редко используемые изменённые страницы, — и характерная активность диска в момент фриза как раз об этом.

Нужно ли закрывать фоновые программы перед игрой?

Проверьте с закрытыми и решайте по результату. В списке Valve перечислены антивирусы, программы записи видео, менеджеры и «ускорители» загрузок, P2P-клиенты и чистильщики системы, и Valve просит отключать их именно на время проверки. Всё, что сканирует диск или забивает канал, пока вы играете, конкурирует с игрой за те же ресурсы.

Хватает ли диспетчера задач для диагностики фризов?

Для первого взгляда да, для вердикта нет. Он показывает загрузку ядер очень поверхностно и не учитывает такие расходы, как переключение контекста, — поэтому PC Optimization Hub советует вместо него Process Explorer и Autoruns из Sysinternals. А фреймтайм в любом случае берётся не из процентов загрузки, а из программы захвата кадров.

Источники

Попробуйте также