Тест Пропуска Кадров

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

РАБОТАЕТ ПОЛНОСТЬЮ В ВАШЕМ БРАУЗЕРЕ · НИЧЕГО НЕ ЗАПИСЫВАЕТСЯ И НЕ ЗАГРУЖАЕТСЯ

Обновлено: · Проверено на точность по актуальным API браузеров

Нажмите «Старт». Первая секунда или две калибруются автоматически — не нужно знать вашу частоту обновления заранее.
Обнаруженная частота–
Кадров увидено0
Пропуски0
Частота пропусков–
Самая долгая задержка–
Джиттер–
Время кадра (мс) — ровная линия — это хорошо, всплески — это пропуски

Как использовать этот тест

  1. Нажмите «Старт» и дайте откалиброваться.

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

  2. Дайте поработать хотя бы 15-30 секунд.

    Короткий прогон легко может показать ноль пропусков просто по удаче; более длинные прогоны дают более честную картину.

  3. Смотрите на живой график на предмет всплесков.

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

  4. Закройте другие вкладки и тяжёлые программы, если пропуски частые.

    Этот тест может видеть только задержки на стороне самого браузера — загруженная система — частая и устранимая причина.

  5. Используйте камеру для подтверждения на уровне панели.

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


Как этот тест на самом деле работает

Каждый вызов requestAnimationFrame возвращает временную метку, и этот тест измеряет промежуток между последовательными метками, а не предполагает фиксированное число. Для первых пары десятков кадров он собирает эти промежутки и берёт медиану, чтобы установить ваш реальный интервал обновления — около 16,7 мс на дисплее 60Гц, 6,9 мс на 144Гц и так далее — поэтому он работает одинаково независимо от того, на что рассчитан ваш монитор, без необходимости что-либо вводить.

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


Что этот тест не может увидеть

Об этом стоит сказать прямо, а не позволять инструменту переоценивать себя. Пропуск кадра, засчитанный здесь, означает, что сам браузер не смог доставить новый кадр на экран по расписанию — обычно потому, что основной поток был занят чем-то другим и пропустил своё окно. Это реальная, распространённая причина видимых подёргиваний, и именно такие пропуски этот тест создан отслеживать.

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


Подтверждение пропуска на уровне панели с помощью камеры

Практический способ проверить, что на самом деле делает ваш монитор, независимо от того, что показывает этот тест, — это фото с медленным затвором. Установите скорость затвора камеры телефона медленнее одного интервала обновления — для дисплея 60Гц медленнее примерно 1/60 секунды — и сфотографируйте нумерованный маркер во время работы теста.

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


Что вызывает пропуск кадров

На стороне браузера: процессор, занятый чем-то другим, фоновые вкладки или программы, конкурирующие за ресурсы, пауза сборки мусора, останавливающая основной поток на момент, или GPU, не успевающий с композитингом — устаревший графический драйвер делает последнее более вероятным, поэтому стоит убедиться, что у вас последняя версия от NVIDIA, AMD или Intel. Любое из этого может заставить браузер пропустить своё окно для передачи нового кадра, что этот тест корректно поймает.

На стороне дисплея: кабель или порт, который не может полностью поддержать выбранное вами разрешение и частоту обновления одновременно (частый пример — 4K при 120Гц через порт, который поддерживает только 4K при 60Гц, что может незаметно откатиться или пропустить кадры), частота обновления, разогнанная сверх того, что панель может стабильно поддерживать, или агрессивная обработка изображения, например сглаживание движения, мешающая таймингу кадров. Такие случаи нужно подтверждать методом с камерой выше — та же обработка также частая причина добавленного смазывания, которое проверяет наш Тест на Шлейфы.


Этот тест против Теста Частоты Обновления

Эти два теста отвечают на разные вопросы и хорошо работают вместе. Тест Частоты Обновления сообщает, на какой частоте сейчас работает ваш дисплей — действительно ли он работает на 144Гц, или незаметно откатился до 60? Этот тест принимает обнаруженную частоту как верную и вместо этого спрашивает, действительно ли каждый кадр на этой частоте приходит по расписанию, или некоторые из них пропускаются или повторяются по пути. Дисплей может пройти один из этих тестов и провалить другой.


Часто задаваемые вопросы

В чём разница между этим тестом и Тестом Частоты Обновления?

Тест Частоты Обновления сообщает, на какой частоте работает ваш дисплей. Этот тест проверяет, действительно ли каждый кадр на этой частоте доставляется по расписанию, или некоторые пропускаются или повторяются.

Может ли этот тест обнаружить пропуск кадров, происходящий в самом мониторе?

Нет. Этот тест видит только то, что происходит на стороне браузера в конвейере. Собственный скейлер монитора может незаметно повторить кадр, который был доставлен корректно, и никакой браузерный тест не может это увидеть — фото с длинной выдержкой движущегося маркера — практический способ проверить это.

Почему при первом запуске теста написано «калибровка»?

Тест измеряет первые пару десятков кадров и вычисляет ваш реальный интервал оттуда, вместо того чтобы спрашивать, на какой частоте работает ваш дисплей — именно поэтому он работает одинаково на 60Гц, 144Гц или 240Гц без какой-либо настройки.

Что обычно вызывает пропуск кадров?

На стороне браузера: загруженный процессор, фоновые программы, паузы сборки мусора или GPU, который не успевает. На стороне дисплея: ограничение кабеля или порта, разогнанная частота обновления, или агрессивная обработка изображения.

Нормально ли, что есть немного пропусков?

Случайный одиночный пропуск во время долгого прогона обычно не стоит беспокойства. Частые, повторяющиеся пропуски — более значимый сигнал для действий.

Записывает или загружает ли этот инструмент что-либо?

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


Другие инструменты на ProDeviceTest

Доставка кадров — лишь одна часть общего качества движения. Остальное покрывают эти инструменты.