Home projects Streaming lag timer
Post
Cancel

Streaming lag timer

Описание

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

Для отрисовки таймеров используется HTML5 Canvas, однако если он не поддерживается, то используется прямое изменение DOM элементов.
Время обновления таймера - 7ms, что соответствует частоте кадров ~ 140fps (больше все равно из браузера выжать не удалось)

Оценка лага изображения (streaming lag)

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

Оценка лага ввода (input lag)

Похожим способом можно измерить и input lag.
С той лишь разницей что лучше записывать SlowMotion видео как Вы нажимаете/отжимаете кнопку, контроллера на фоне таймера.
Оранжевым цветом отображается время, когда было зафиксировало нажатие/отжатие кнопки на любом из поддерживаемых типов устройств.
Поддерживаются следующие типы нажатий:

  • нажатие/отпускание любой клавиши на клавиатуре
  • нажатие/отпускание любых кнопок мыши
  • нажатие/отпускание любых первых 4 кнопок на геймпаде (обычно это кнопки A,B,X,Y)
  • касание экрана

📺 Запустить

This post is licensed under CC BY 4.0 by the author.