HTML/JavaScript mouse input performance tests

Instructions: Move the mouse around in the box below in a consistent motion. The difference between hardware cursor (mouse pointer) and last recorded mouse position (red box) is mouse input lag. The red circle represents 'two frames' of input lag.
WARNING: It you see a mouse event rate matching your display Hz, the web browser is likely collapsing several real mouse events into one faked mouse event! UPDATE: Chrome 60+ does this! details
Gray horizontal lines are every 5ms.
blue line: inter-mouse message times (best case is flat line). 8ms is typical for mice/Windows; notebook trackpad is usually around 10ms to 12ms
gray line: mouse move message time offset from rAF time / vsync (best case: consistent sawtooth pattern).

Show hardware cursor Use rAF time argument Graph Override event time with now() Show mouse path


An example good result: