CPS 미터

GUIDE 05

폴링레이트와 측정 한계 — CPS 기록은 얼마나 정확한가

마우스 폴링레이트, 브라우저 이벤트 시각, 키 반복, 모니터 주사율이 CPS 측정에 주는 영향과 한계를 설명합니다.

웹에서 재는 CPS는 「손가락이 버튼을 누른 순간」이 아니라 「브라우저가 입력 이벤트를 받은 순간」을 기준으로 합니다. 그 사이에는 여러 단계가 있고, 단계마다 작은 오차가 생깁니다. 무엇이 영향을 주고 무엇은 주지 않는지 정리했습니다.

입력이 화면까지 가는 길

폴링레이트

폴링레이트는 마우스가 1초에 몇 번 상태를 보고하는지입니다. 보고 간격은 1000 ÷ 폴링레이트(ms)입니다.

폴링레이트보고 간격
125 Hz8 ms
500 Hz2 ms
1000 Hz1 ms

클릭 수 자체에는 거의 영향이 없습니다. 초당 20번 클릭해도 클릭 사이 간격은 50 ms로, 125 Hz의 보고 간격보다 훨씬 깁니다. 다만 각 클릭의 시각이 보고 간격 단위로 늦어질 수 있어 간격 분포는 몇 ms씩 뭉개질 수 있습니다.

브라우저의 시각 정밀도

CPS 미터는 이벤트에 붙은 시각(event.timeStamp)과 performance.now()를 씁니다. 브라우저는 보안상 이 시각의 정밀도를 일부러 낮추기도 하므로, 간격을 소수점 아래까지 믿기보다는 수 ms 단위로 읽는 것이 맞습니다. 페이지가 무거운 작업 중이라도 이벤트 시각은 입력이 들어온 때를 기준으로 하므로 셈이 빠지지는 않습니다.

모니터 주사율은 상관없다

60 Hz든 240 Hz든 화면 주사율은 숫자가 표시되는 속도만 바꿉니다. 입력 셈은 화면 갱신과 따로 이루어지므로 주사율 때문에 기록이 달라지지 않습니다.

무선·블루투스

무선 연결은 보고가 가끔 몰려서 도착하거나 지연될 수 있습니다. 클릭 수는 대개 그대로지만 간격 분포가 넓어질 수 있습니다. 정밀하게 비교하려면 같은 연결 방식끼리 비교하세요.

키 반복

키보드 키를 누르고 있으면 운영체제가 일정 간격으로 입력을 반복해서 만듭니다. CPS 미터는 이벤트의 반복 표시(KeyboardEvent.repeat)를 확인하고, 추가로 키를 뗀 기록이 없으면 새 입력으로 세지 않습니다. 그래서 누르고 있기만 해서는 기록이 오르지 않습니다.

시작과 끝의 처리

결론

여러 번 재서 경향을 보는 용도라면 웹 측정으로 충분합니다. 0.1 CPS 안팎의 차이는 장비와 연결 상태에서도 생길 수 있으니 같은 조건에서 여러 번 비교하세요.

측정해 보기 →