마우스 입력
마우스 테스트는 브라우저가 제공하는 PointerEvent와 MouseEvent를 사용합니다. 버튼 입력, 휠 움직임, 포인터 위치는 모두 브라우저가 전달한 이벤트를 기준으로 표시됩니다.
키보드 입력
키보드 테스트는 KeyboardEvent의 code, key 정보와 keydown, keyup 이벤트를 사용합니다. code는 키의 물리적 위치를, key는 사용자가 입력한 값을 나타냅니다.
브라우저가 특정 키를 식별하지 못하면 '식별되지 않은 키'로 표시하며, 실제 물리 키캡 위치는 사용자가 선택한 배열을 기준으로 확인합니다.
시간 측정
시간 측정에는 performance.now()와 이벤트의 timeStamp를 사용합니다. 이 값은 브라우저가 이벤트를 처리한 시점을 기준으로 합니다.
폴링레이트
폴링레이트는 브라우저가 받은 포인터 이벤트를 기준으로 추정합니다. pointerrawupdate를 우선 사용하고, 지원하지 않으면 pointermove를 사용하며 getCoalescedEvents()를 통해 병합된 샘플도 함께 확인합니다.
지연 시간(Latency)
마우스·키보드 지연 테스트는 전체 하드웨어 end-to-end latency가 아닙니다. 브라우저에 전달된 입력 이벤트의 시간 간격과 변동을 보여 주는 참고값입니다.
브라우저와 환경의 차이
측정 결과는 브라우저, 운영체제, USB 연결, 무선 연결, CPU 부하, 화면 주사율, 브라우저 이벤트 병합, 백그라운드 탭 등 여러 요인의 영향을 받을 수 있습니다.
따라서 InputMetric의 결과는 문제를 확인하거나 장치 간 상태를 비교하기 위한 참고 자료로 사용해야 하며 실험실 수준의 측정 결과로 해석해서는 안 됩니다.