Lagmeter on-line demo


Install PointingServer to get the following information.
  • Your mouse:
  • Your displays:
  • Mouse transfer function settings:
Latency in ms Current Mean Std
End-to-end latency NA NA NA
Windows repaint event to HID event latency NA NA NA


  1. You need an optical mouse (the ones with the red led), not a laser mouse.
  2. You need to change the settings for your mouse transfer function in your mouse configuration panel: On Windows XP, 7, 8 and 10, setting the slider to one of the 2 last positions when the "enhanced pointer precision" box is checked results in at least a 1 cursor pixel displacement for every 1 count. When "enhanced pointer precision" is unchecked, any position higher than the middle one works. On Linux, any configuration of the settings in the mouse configuration panel works. On OS X, "acceleration" needs to be disabled because all settings for nonlinear transfer functions prevent to systematically get at least one pixel displacement for one count. Use the command defaults write .GlobalPreferences -1 and log out and back in. Moving the slider again in the mouse configuration panel cancels the change.
  3. Position the mouse on the texture (not your mouse pointer but your physical mouse). Position your screen horizontally or stick your mouse on it (e.g. using Blu-Tack). It is important your mouse does not move at all.
  4. Read the stats. If they do not update, it means your mouse is not compatible.

Latency statistics

Two different latencies can be measured:
  1. End-to-end latency corresponds to the time (in ms) from the window repaint event to the MouseMove event dispatched in JavaScript.
  2. Windows repaint event to HID event latency corresponds to the time (in ms) from the window repaint event to the HID event received by libpointing (+ the time for Node.js bindings and (which are used by the Pointing Server to send the raw data to your browser)). This measurement requires the installation of Pointing Server.