Move latency

One move at a time, timed on the PC's USB bus from the command to the report carrying it. A default move goes through each box's default smoothing, and an immediate move skips it.

Default move latency, p50

Stock km.moveMedius MOVE

Mouse and moveStockkm.moveMediusMOVEResult
Still mouse, 1 count64.1 ms0.969-1.010 msMedius
Still mouse, 50 counts64.1-64.2 ms0.926-1.010 msMedius
Moving 1 kHz mouse, 50 counts71.7 ms13.5-13.6 msMedius
Default move latency, p95

Stock km.moveMedius MOVE

Mouse and moveStockkm.moveMediusMOVEResult
Still mouse, 1 count64.6 ms1.41 msMedius
Still mouse, 50 counts64.6 ms1.38-1.42 msMedius
Moving 1 kHz mouse, 50 counts72.1 ms15.1-15.3 msMedius
Immediate move latency, p50

Stock km.move_nowMedius MOVE(NOW)

Mouse and moveStockkm.move_nowMediusMOVE(NOW)Result
Still mouse, 1 count4.27-4.29 ms0.925-0.945 msMedius
Still mouse, 50 counts4.21-4.24 ms0.959-0.984 msMedius
Moving 1 kHz mouse, 1 count11.7 ms1.08 msMedius
Moving 1 kHz mouse, 50 counts11.7 ms1.08-1.09 msMedius
Moving 125 Hz mouse, 1 count4.25-4.34 ms4.68-5.02 msStockStock defect
Moving 125 Hz mouse, 50 counts4.32-4.34 ms4.45-4.89 msStockStock defect
Immediate move latency, p95

Stock km.move_nowMedius MOVE(NOW)

Mouse and moveStockkm.move_nowMediusMOVE(NOW)Result
Still mouse, 1 count4.69-4.70 ms1.36 msMedius
Still mouse, 50 counts4.67-4.70 ms1.41-1.42 msMedius
Moving 1 kHz mouse, 1 count12.1 ms1.58-1.61 msMedius
Moving 1 kHz mouse, 50 counts12.1 ms1.59-1.60 msMedius
Moving 125 Hz mouse, 1 count4.74 ms8.23-8.37 msStockStock defect
Moving 125 Hz mouse, 50 counts4.75-4.80 ms7.80-8.09 msStockStock defect
Default moves with their first count within 0.5 s

Stock km.moveMedius MOVE

Mouse and moveStockkm.moveMediusMOVEResult
Still mouse, 1 count400/400400/400Equal
Still mouse, 50 counts400/400400/400Equal
Moving 1 kHz mouse, 1 count400/400400/400Equal
Moving 1 kHz mouse, 50 counts400/400400/400Equal
Moving 125 Hz mouse, 1 count400/400400/400Equal
Moving 125 Hz mouse, 50 counts400/400400/400Equal
Default moves arriving in full before the next

Stock km.moveMedius MOVE

Mouse and moveStockkm.moveMediusMOVEResult
Still mouse, 1 count400/400400/400Equal
Still mouse, 50 counts400/400400/400Equal
Moving 1 kHz mouse, 1 count400/400400/400Equal
Moving 1 kHz mouse, 50 counts400/400400/400Equal
Moving 125 Hz mouse, 1 count400/400400/400Equal
Moving 125 Hz mouse, 50 counts400/400400/400Equal
Empty reports while paying out 40 moves, default smoothing

Stock km.moveMedius MOVE

Counts per moveStockkm.moveMediusMOVEResult
1 count2,5200Medius
10 counts2,1600Medius
100 counts4400Medius
Default move latency counting every move, p95

Stock km.moveMedius MOVE

Mouse and moveStockkm.moveMediusMOVEResult
Still mouse, 1 count64.7 ms1.57-1.58 msMedius
Still mouse, 50 counts64.7 ms1.56-1.58 msMedius
Moving 1 kHz mouse, 1 count72.2 ms5.34-6.03 msMedius
Moving 1 kHz mouse, 50 counts72.2 ms15.2-15.4 msMedius
Moving 125 Hz mouse, 1 count8.71-8.81 ms9.59-9.62 msStockStock defect
Moving 125 Hz mouse, 50 counts8.73-8.76 ms17.9-18.4 msStockStock defect

Delay in a stream of moves

A steady 2 s stream of one-count moves into a still mouse, each box on its default smoothing. Each count is matched to its command and timed from it.

Delay of each count in a steady stream, p50

Stock km.moveMedius MOVE

Moves/sStockkm.moveMediusMOVEResult
1,00010.3 ms1.85 msMedius
50011.3 ms1.9 msMedius
25011.7 ms4.31 msMedius
12516.2 ms7.85 msMedius
6024.7 ms16.4 msMedius
3033.7 ms16.7 msMedius

Smoothing settings

Each box's smoothing settings, measured the same way on the PC's USB bus: 40 single moves into a still mouse, and 100 one-count moves 150-250 ms apart into a moving 1 kHz mouse.

Each smoothing setting
BoxSettingOne count, last count p50100 counts, last count p50Empty reports, 40 one-count movesOne count into a moving mouse, p50
StockInterpolation AUTO (default)64.2 ms64 ms2,52071.6 ms
StockInterpolation 04.17 ms4.3 ms12011.7 ms
StockInterpolation 255.33 ms5.43 ms16012.7 ms
StockInterpolation 5017.1 ms17.1 ms64024.7 ms
StockInterpolation 10065 ms65.3 ms2,56072.6 ms
MediusRender DESPIKED (default)1.03 ms1.02 ms04.07 ms
MediusRender UNSMOOTHED0.964 ms1.01 ms02.08 ms
MediusRender STOCK0.994 ms0.929 ms05.97 ms
MediusRender OFF0.939 ms1.09 ms01.2 ms
MediusRender DESPIKED, full rendering0.913 ms0.903 ms04.36 ms
MediusRender OFF, spread 00.876 ms0.978 ms11.08 ms

Extra reports

Reports each box emitted while injecting: beside a 1 kHz mouse moving in every report, in a steady stream of moves into a still mouse, and beside a mouse reporting at 1 kHz or 125 Hz. A 1 kHz mouse sends ~2,500 reports in 2.5 s, a 125 Hz one ~312.

Reports carrying only injected motion

Stock km.moveMedius MOVE

MouseStockkm.moveMediusMOVEResult
Moving 1 kHz mouse2,617-2,6480Medius
Reports carrying only injected motion beside a mouse moving at a varying speed, in 30 s

Stock km.moveMedius MOVE

Moves sentStockkm.moveMediusMOVEResult
1,000 moves/s5,2200Medius
500 moves/s3,9020Medius
125 moves/s1,0870Medius
Reports carrying only injected motion beside a mouse moving at a varying speed, in 5 s

Stock km.moveMedius MOVE

Moves sentStockkm.moveMediusMOVEResult
30 moves/s110Medius
10 moves/s00Equal
Empty reports in 2 s of one-count moves, mouse still

Stock km.moveMedius MOVE

Moves/sStockkm.moveMediusMOVEResult
1,000280Medius
5001,0102Medius
2501,5081Medius
1251,7582Medius
601,8881Medius
301,9312Medius
Reports in 2.5 s beside a moving mouse, injecting for 2 s

Stock km.moveMedius MOVE

Mouse and movesStockkm.moveMediusMOVE
1 kHz mouse, 1,000 moves/s2,5002,501
1 kHz mouse, 125 moves/s2,4922,492
125 Hz mouse, 1,000 moves/s2,073312
125 Hz mouse, 125 moves/s1,316312

Counts arriving

Runs of one-count moves, with the total on the PC checked against the counts sent.

Total, default moves

Stock km.moveMedius MOVE

Mouse and movesStockkm.moveMediusMOVEResult
Still mouse, 400 moves 30-60 ms apartExactExactEqual
Still mouse, 2,000 moves at 1,000/sExactExactEqual
Moving 1 kHz mouse, 400 moves 30-60 ms apartExactExactEqual
Moving 1 kHz mouse, 2,000 moves at 1,000/sExactExactEqual
Moving 125 Hz mouse, 400 moves 30-60 ms apartExactExactEqual
Moving 125 Hz mouse, 2,000 moves at 1,000/sExactExactEqual
Mouse moving at a varying speed, 400 moves 30-60 ms apartExactExactEqual
Mouse moving at a varying speed, 2,000 moves at 1,000/s1 count shortExactMedius
Total, immediate moves

Stock km.move_nowMedius MOVE(NOW)

Mouse and movesStockkm.move_nowMediusMOVE(NOW)Result
Still mouse, 400 moves 30-60 ms apartExactExactEqual
Still mouse, 2,000 moves at 1,000/sExactExactEqual
Moving 1 kHz mouse, 400 moves 30-60 ms apartExactExactEqual
Moving 1 kHz mouse, 2,000 moves at 1,000/sExactExactEqual
Moving 125 Hz mouse, 400 moves 30-60 ms apartExactExactEqual
Moving 125 Hz mouse, 2,000 moves at 1,000/sExactExactEqual
Mouse moving at a varying speed, 400 moves 30-60 ms apartExactExactEqual
Mouse moving at a varying speed, 2,000 moves at 1,000/sExactExactEqual
Total, default moves at a steady rate

Stock km.moveMedius MOVE

Mouse and movesStockkm.moveMediusMOVEResult
Still mouse, 500 moves/sExactExactEqual
Still mouse, 250 moves/sExactExactEqual
Still mouse, 125 moves/sExactExactEqual
Still mouse, 60 moves/sExactExactEqual
Still mouse, 30 moves/sExactExactEqual
Counts arriving from two runs of 15,000 default moves

Stock km.moveMedius MOVE

Mouse and movesStockkm.moveMediusMOVEResult
Moving 1 kHz mouse, 1,000 moves/s29,977/30,00030,000/30,000MediusStock defect
Counts in the wrong direction

Stock km.moveMedius MOVE

Mouse and movesStockkm.moveMediusMOVEResult
Moving 1 kHz mouse, 400 moves 30-60 ms apartNoneNoneEqual
Moving 125 Hz mouse, 400 moves 30-60 ms apartNoneNoneEqual
Mouse moving at a varying speed, 400 moves 30-60 ms apartNoneNoneEqual
Counts arriving from 15 s of default moves into a moving 1 kHz mouse

Stock km.moveMedius MOVE

Mouse and movesStockkm.moveMediusMOVEResult
Counting mouse, 1,000 moves/s14,988/15,00015,000/15,000Medius
Counting mouse, 500 moves/s7,500/7,5007,500/7,500Equal
Counting mouse, 125 moves/s1,870/1,8751,875/1,875Medius
Mouse moving at a varying speed, 1,000 moves/s14,989/15,00015,000/15,000Medius
Mouse moving at a varying speed, 500 moves/s7,497/7,5007,500/7,500Medius
Mouse moving at a varying speed, 125 moves/s1,873/1,8751,875/1,875Medius

Move into a new clone

A move and a click sent right after the box cloned a new device, three tries each.

Counts arriving within 1 s from three 10-count moves

Stock km.move_nowMedius MOVE(NOW)

DeviceStockkm.move_nowMediusMOVE(NOW)Result
No native report yet0/3030/30MediusStock defect
Native report every 100 ms30/3030/30Equal
One native report at its start20/3030/30Medius
Clicks arriving within 1 s, three tries
DeviceStockMediusResult
No native report yetAll lostAll arriveMedius
Native report every 100 msAll arriveAll arriveEqual
One native report at its startSome arriveAll arriveMedius

Wheel and horizontal scroll

Injected wheel and horizontal scroll (pan), one command at a time, timed on the PC's USB bus.

Wheel and pan latency, p50

Stock km.wheelMedius MOVE

CommandStockkm.wheelMediusMOVEResult
Wheel 1, mouse still0.73 ms0.941 msStock
Wheel 5, mouse still0.778 ms0.971 msStock
Wheel -3, mouse still0.917 ms0.858 msMedius
Wheel 1, 1 kHz mouse moving8.58 ms1.35 msMedius
Horizontal scroll reaching the PC
CommandStockMediusResult
Pan 1, 40 timesRefusedArrivesMedius

Unsmoothed moves

Stock's RAW_MOVE (documented as skipping its smoothing) against Medius's MOVE(NOW), timed on the PC's USB bus: one at a time, and as a stream of 200 at 1,000/s.

Unsmoothed move latency, p50

Stock RAW_MOVEMedius MOVE(NOW)

MouseStockRAW_MOVEMediusMOVE(NOW)Result
Still mouse0.65 ms1.07 msStock
Moving 1 kHz mouse8.59 ms1.13 msMedius
Counts arriving from 200 unsmoothed moves at 1,000/s

Stock RAW_MOVEMedius MOVE(NOW)

MouseStockRAW_MOVEMediusMOVE(NOW)Result
Still mouse16/200200/200Medius