Gamepadla+ is a program for measuring the polling rate and synthetic latency of gamepads aka. controllers.
- Supports DInput and XInput
- Provides CLI and GUI
- Shows polling rate and latency metrics
uv (Windows / Linux / MacOS)
uv tool install --python 3.13 --managed-python gamepadla-plus- Execute the program
gamepadlawithout any arguments. - If you haven't connected any controller do it now and click
Refresh. - Click
Testand rotate the stick you chose slowly at the edge. - Optionally save the result to a JSON file or upload the result to <gamepadla.com>.
# gamepadla.exe --help
Usage: gamepadla [OPTIONS] COMMAND [ARGS]...
Gamepad latency and polling rate tester.
╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ list List controller id's. │
│ test Test controller with id. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
- List all controllers connected with:
gamepadla list
# gamepadla list
Found 1 controllers
0. Xbox 360 Controller
- Test the controller with the id from step one (
testdefaults to id 0):
gamepadla test 0
equals here
gamepadla test
# gamepadla test
100%|████████████████████████████████████████████████████████████ | 01.00 ms
Parameter Value
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Gamepad mode Xbox 360 Controller
Operating System Windows
Polling Rate Max. 1000 Hz
Polling Rate Avg. 964.36 Hz
Stability 96.44%
Minimal latency 0.51 ms
Average latency 1.04 ms
Maximum latency 2.0 ms
Jitter 0.16 ms
gamepadla test --stick right
gamepadla test --out data.json
gamepadla test --upload
Gamepadla measures the delay between successive changes in the position of the analog stick on the gamepad, rather than the traditional input latency, which measures the time between pressing a button on the gamepad and a response in a program or game.
This method of measurement can be affected by various factors, including the quality of the gamepad, the speed of the computer's processor, the speed of event processing in the Pygame library, and so on.
Therefore, although Gamepadla can give a general idea of the "response" of a gamepad, it cannot accurately measure input latency in the traditional sense. The results obtained from Gamepadla should be used as a guide, not as an exact measurement of input latency.
Gamepadla+ or gamepadla-plus is a hard fork of Gamepadla.
The testing is based on the method of Christian P.: https://github.com/chrizonix/XInputTest.
Licensed under MIT.
Please have a look at CONTRIBUTING.md.
