Этот тест на подтормаживания оценивает, насколько равномерно поступают кадры, а не только то, сколько их. Экран может показывать высокую среднюю частоту кадров и всё равно выглядеть дёргано, потому что один-единственный запоздавший — или вовсе пропавший — кадр нарушает ритм движения. Такая заминка и есть подтормаживание, его также называют рывком (jank), и глаз замечает его даже тогда, когда среднее значение выглядит идеально. Тест перемещает маркер с фиксированным шагом каждый кадр и строит под ним график реального времени между кадрами, превращая ощущение в число, которое можно сравнивать.
Плавность движения зависит от стабильного времени кадра. При 60 FPS новый кадр должен появляться каждые 16.7 миллисекунды; при 120 FPS — каждые 8.3. Когда один кадр занимает в два-три раза дольше, движение скачком уходит вперёд, и никакая высокая средняя частота кадров этого не скроет.
Тест запускается автоматически. Следить нужно за двумя вещами:
Карточки подводят итог сессии. Ожидаемое время кадра — это ваш типичный интервал между кадрами; Худший интервал между кадрами — самая длинная зафиксированная задержка; а Рывки подсчитывают каждый запоздавший кадр. Используйте Сбросить счётчик, чтобы обнулить итоги, затем оставьте тест работать на некоторое время или переключитесь на другую вкладку и вернитесь, чтобы увидеть, как ведёт себя ваша система со временем.
Подтормаживание — это симптом того, что конвейер рендеринга не укладывается в срок. Кадр запаздывает ещё на выходе из вашего компьютера, до того как в дело вступает экран. Среди распространённых причин:
Другая вкладка браузера, обновление ПО, антивирусная проверка или клиент синхронизации могут на мгновение перехватить процессорное время и вытолкнуть кадр за его срок. Подтормаживания, возникающие вспышками с долгими спокойными промежутками между ними, обычно указывают на то, что в системе что-то другое просыпается.
Когда видеокарта или процессор загружены полностью, одни кадры строятся дольше других. На графике это выглядит как неровная, шероховатая полоса, а не как отдельные всплески. Закрытие тяжёлых приложений или снижение настроек игры сглаживает картину.
Ноутбуки в режиме экономии заряда или любое перегревшееся устройство намеренно снижают производительность. Частота кадров проседает, а время кадров начинает плавать. Подключение к сети, улучшение вентиляции или переключение на схему электропитания с высокой производительностью часто сразу стабилизируют тайминги.
Пересчёт макета, сборка мусора и тяжёлые скрипты — каждое из этого может приостановить рендеринг на один-два кадра. Именно поэтому одна и та же страница может ощущаться плавной в одном браузере и дёрганой в другом на одинаковом оборудовании.
В этом самая суть того, ради чего существует тест. Представьте одну секунду, в которой 118 кадров по 8 миллисекунд и два кадра по 25 миллисекунд. Среднее по-прежнему составляет примерно 120 FPS — число, которое выглядит безупречно, — и всё же эти два длинных кадра являются заметными заминками. Представление по времени кадров их ловит; усреднённый счётчик кадров — никогда.
| Показатель | О чём он говорит | Слепое пятно |
|---|---|---|
| Средний FPS | Общая пропускная способность | Скрывает отдельные запоздавшие кадры |
| Время кадра (на кадр) | Ритм движения | Нужен график, чтобы читать с одного взгляда |
| Число рывков | Как часто нарушается движение | Не говорит, насколько серьёзна каждая заминка |
| Худший интервал между кадрами | Тяжесть худшей заминки | Единичное событие, а не тенденция |
Чтение всех четырёх вместе даёт полную картину. Хороший результат — это высокая, стабильная частота кадров с низким числом рывков и худшим интервалом, близким к ожидаемому времени кадра. Сырую частоту кадров можно перепроверить в основном тесте FPS, а наш обзор кадров в секунду объясняет, почему одного среднего недостаточно.
Как только счётчик показывает проблему, пройдитесь по вероятным причинам:
Потому что средняя частота кадров и стабильность кадров — это разные вещи. Несколько запоздавших кадров почти не сдвигают среднее, но хорошо заметны и учитываются здесь как рывки. Именно этот случай тест и создан вскрывать.
Случайный одиночный всплеск, особенно сразу после загрузки страницы или при переключении вкладок, — это нормально. Устойчивый поток красных столбиков или худший интервал, в несколько раз превышающий ожидаемое время кадра, указывает на реальную проблему, которую стоит разобрать.
Необязательно. Фоновая активность, троттлинг по температуре, энергосбережение и заминки браузера — всё это вызывает подтормаживания даже на мощном оборудовании. Разберитесь с этим, прежде чем предполагать, что нужен апгрейд.
Подтормаживание — это проблема таймингов: кадры поступают с опозданием, поэтому вся картинка дёргается, но остаётся целостной. Разрыв — это проблема синхронизации, когда кадр разрезан поперёк обновления. Про это смотрите тест на разрыв изображения.
Единого проходного порога нет, поскольку он зависит от того, как долго вы прогоняете тест, но форма здорового результата очевидна: число рывков должно расти медленно или не расти вовсе после того, как страница устоялась, а худший интервал между кадрами должен оставаться в пределах примерно полутора значений ожидаемого времени кадра. Число рывков, прибавляющееся несколько раз в секунду, или худший интервал, в несколько раз превышающий ожидаемое значение, означает, что движение заметно нарушается и работает одна из перечисленных выше причин.
Обозреватели редко судят о плавности по одной лишь средней частоте кадров. Они также приводят просадки 1% и 0.1% — частоту кадров у самого медленного одного процента и одной тысячной доли кадров. Эти цифры описывают то же самое, что измеряет этот тест: худшие моменты, а не среднее. Игра с высоким средним, но плохими просадками 1% ощущается дёргано — ровно так же, как экран с высокой частотой кадров, но частыми рывками здесь. Число рывков и худший интервал между кадрами на этой странице — браузерный аналог тех процентильных просадок.
Микроподтормаживание — более тонкий родственник. Вместо драматичных всплесков время кадров чередуется — длинное, короткое, длинное, короткое, — так что среднее выглядит нормально и даже худший интервал невелик, и всё же движение ощущается слегка неровным. На графике времени кадров это выглядит как зубчатая полоса, а не как высокие отдельные всплески. Микроподтормаживание обычно возникает из-за несовершенной подачи кадров, когда кадры создаются быстрее, чем их можно равномерно показать, и это одна из причин, по которой зафиксированная, ровно подаваемая частота кадров может выглядеть плавнее, чем более высокая, но хаотичная.
Это кажется противоречивым, но ограничение частоты кадров часто улучшает то, как ощущается движение. Неограниченная частота кадров, которая скачет, скажем, между 90 и 200, постоянно меняет время кадра, и эта вариация заметна. Ограничение её до стабильного значения, которое ваша система всегда способна выдать, удерживает каждый кадр одной и той же длительности — а именно это глаз считывает как плавность. Если этот тест показывает высокое среднее, но беспокойный график, попробуйте ограничить источник, который его питает, и понаблюдайте, как полоса устаканивается — стабильные 100 кадров в секунду лучше среднего в 140 с рывками. Согласование частоты кадров с частотой обновления следует той же логике, а переменная частота обновления помогает больше всего тем, что подстраивает обновление под каждый кадр, а не заставляет кадры ждать.
Отдельный снимок может ввести в заблуждение. Оставьте тест работать и следите за закономерностями: вспышка красного каждые несколько секунд наводит на мысль о фоновой задаче по таймеру, медленный дрейф в сторону более долгого времени кадра намекает на троттлинг по температуре, а постоянно шероховатая полоса указывает на систему под непрерывной нагрузкой. Сброс счётчика и сравнение спокойной минуты с загруженной — с открытыми вкладками или запущенной загрузкой — превращает тест в простую диагностику того, что на вашей машине крадёт кадры.
Стабильность кадров — лишь одна часть плавного движения. Продолжите этими сопутствующими инструментами: