Snaplytics JS Tests

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

Перевірте, чи ваш дисплей і система показують новий кадр при кожному оновленні, чи непомітно втрачають деякі з них. Тест хронометрує кожен кадр анімації відносно виміряної частоти оновлення і позначає будь-який розрив, де один або кілька кадрів зникли. Тримайте цю вкладку у фокусі під час виконання для точного показу.

Гц

Монітор наживо працює — тримайте цю вкладку у фокусі для точного показу.

Наживо
Останні кадриВчасноПропущено
Збір кадрів…
Частота оновлення
Гц
Кадри вчасно
0
Пропущено
0
Частота пропускань
Найбільший розрив

Смуга захоплення камерою (необов'язково)

Маркер просувається на одну клітинку за кожен зображений кадр. Сфотографуйте екран з короткою витримкою або запишіть у сповільненому режимі — пропущений крок виявляє втрачений кадр. Другорядний відносно детектора вище.

Як працює детектор

Браузер викликає requestAnimationFrame один раз на кожне оновлення екрана, тому розрив між зворотними викликами має залишатися близьким до одного інтервалу оновлення — приблизно 16,7 мс на панелі 60 Гц або 6,9 мс при 144 Гц. Тест записує ці розриви та бере медіану, щоб встановити очікуваний інтервал, що також дає вашу реальну частоту оновлення. Коли розрив розтягується приблизно до 1,5× очікуваного інтервалу або більше, принаймні один кадр так і не був показаний; тест округлює розрив до найближчого цілого числа інтервалів, щоб оцінити, скільки кадрів було втрачено. Довгі паузи від перемикання вкладок або згортання вікна ігноруються, а не рахуються як пропуски.

Frame skipping проти stutter і judder

Ці терміни перетинаються, але описують різні несправності. Frame skipping (втрачені кадри) виникає, коли конвеєр не доставляє нове зображення для циклу оновлення, тому попередній кадр показується двічі, а рух здається стрибкоподібним. Stutter — це нерівний темп кадрів — кадри надходять, але з нерегулярними інтервалами — що виглядає ривчастим, навіть якщо технічно нічого не втрачено. Judder — це стабільна, ритмічна нерівномірність, що виникає, коли частота кадрів не ділиться без остачі на частоту оновлення, наприклад фільм 24 fps на 60 Гц екрані. Цей тест націлений на справді втрачені кадри на рівні оновлення; запуск без пропусків може все одно здаватися менш ніж ідеально плавним, якщо темп нерівномірний.

Чому монітор пропускає кадри

  • Обмеження кабелю або смуги пропускання: висока частота оновлення при високій роздільній здатності може перевищувати те, що може передати версія кабелю або порту, тому з'єднання втрачає кадри. Це класична причина пропусків лише на максимальній частоті монітора.
  • Розігнані частоти оновлення: робота панелі вище її номінальних Гц часто виглядає стабільною, але непомітно повторює кадри замість показу нових.
  • Проблеми GPU, драйвера або температури: застарілі драйвери, перевантажений або перегрітий GPU, або агресивне енергозбереження можуть позбавити дисплей готових кадрів.
  • Фонове навантаження і дроселювання браузера: важка робота в інших вкладках або застосунках, і сповільнення requestAnimationFrame у вкладках без фокуса спричиняють розриви, які вимірює цей тест.

Що цей тест вимірює, а чого ні

Це браузерний тест конвеєра показу — дисплея, кабелю, виходу GPU, драйвера і браузера — а не окремого ігрового рушія. Він повідомляє, наскільки надійно ваша система передає завершені кадри на монітор, поки ця сторінка у фокусі. Він не може бачити кадри, які гра рендерить внутрішньо, вимірювати затримку вводу або замінювати апаратний генератор шаблонів. Для найнадійнішого результату підключіть ноутбук, закрийте важкі фонові вкладки, тримайте цю вкладку у фокусі і дайте завершити повний хронометрований запуск. Додаткова смуга захоплення нижче слугує для фотографування екрана з короткою витримкою, що може виявити пропуски, які важко відчути.