The Xtrfy M4 Wireless is equipped with the PixArt PAW3370. According to specifications, the 3370 is capable of up to 19,000 CPI, as well as a maximum tracking speed of 400 IPS, which equals 10.16 m/s. Out of the box, eight pre-defined CPI steps are available: 400, 800, 1200, 1600, 3200, 4000, 7200, and 19,000.
CPI Accuracy
"CPI" (short for counts per inch) describes the number of counts registered by the mouse if it is moved exactly an inch. There are several factors (firmware, mounting height of the sensor not meeting specifications, mouse feet thickness, mousing surface, among others) which may contribute to nominal CPI not matching actual CPI. It is impossible to always achieve a perfect match, but ideally, nominal and actual CPI should differ as little as possible. In this test, I'm determining whether this is the case or not. However, please keep in mind that said variance will still differ from unit to unit, so your mileage may vary.
I've restricted my testing to the four most common CPI steps, which are 400, 800, 1600, and 3200. As you can see, there is no deviation at all, which is a perfect result.
Motion Delay
"Motion delay" encompasses all kinds of sensor lag. Any further sources of input delay will not be recorded in this test. The main thing I'll be looking for in this test is sensor smoothing, which describes an averaging of motion data across several capture frames in order to reduce jitter at higher CPI values, increasing motion delay along with it. The goal here is to have as little smoothing as possible. As there is no way to accurately measure motion delay absolutely, it can only be done by comparison with a control subject that has been determined to have the lowest possible motion delay. In this case, the control subject is a G403, whose 3366 has no visible smoothing across the entire CPI range. Note that the G403 is moved first and thus receives a slight head start.
Wired testing
First, I'm looking at two xCounts plots—generated at 1600 and 19,000 CPI—to quickly gauge whether there is any smoothing, which would be indicated by any visible "kinks." As you can see, the 19,000 CPI plot does show such kinks, indicating smoothing.
In order to determine motion delay, I'm looking at xSum plots generated at 1600, 7200, and 19,000 CPI. The line further to the left denotes the sensor with less motion delay. There is no motion delay differential at 1600 CPI, which is the case up until the 4000 CPI step. 7200 CPI shows a motion delay differential of roughly 1 ms. Finally, 19,000 CPI shows a differential of roughly 2 ms.
Wireless testing
Not much changes when running the M4 Wireless in wireless mode as SPI timing jitter and general tracking are virtually on the same level as when wired.
Once again, 1600 and 19,000 CPI are tested. Keeping the motion delay differential in wired mode established above in mind, I can measure a wireless motion delay of roughly 1 ms.
Speed-related Accuracy Variance (SRAV)
What people typically mean when they talk about "acceleration" is speed-related accuracy variance (SRAV for short). It's not about the mouse having a set amount of inherent positive or negative acceleration, but about the cursor not traveling the same distance if the mouse is moved the same physical distance at different speeds. The easiest way to test this is by comparison with a control subject that is known to have very low SRAV, which in this case is the G403. As you can see from the plot, no displacement between the two cursor paths can be observed, which confirms that SRAV is very low.
Perfect Control Speed
Perfect Control Speed (or PCS for short) is the maximum speed up to which the mouse and its sensor can be moved without the sensor malfunctioning in any way. I've only managed to hit a measly 5 m/s, which is within the proclaimed PCS range and results in no observable sign of the sensor malfunctioning.
Polling Rate Stability
Considering the M4 Wireless is usable as a regular wired mouse as well, I'll be testing polling rate stability for both wired and wireless use.
Wired testing
All of the available polling rates (125/500/1000 Hz) look nice and stable. Polling stability is unaffected by any RGB lighting effect.
Wireless testing
For wired mice, polling rate stability merely concerns the wired connection between the mouse (SPI communication) and the USB. For wireless mice, another device that needs to be kept in sync between the first two is added to the mix: the wireless dongle/wireless receiver. I'm unable to measure all stages of the entire end-to-end signal chain individually, so testing polling-rate stability at the endpoint (the USB) has to suffice here.
First, I'm testing whether SPI, wireless, and USB communication are synchronized. Any of these being out of sync would be indicated by at least one 2 ms report, which would be the result of any desynchronization drift accumulated over time. I'm unable to detect any periodic off-period polls that would be indicative of a desynchronization drift.
Second, I'm testing the general polling-rate stability of the individual polling rates in wireless mode. Running the M4 Wireless at a lower polling rate can have the benefit of extending battery life. As you can see, both 125 and 500 Hz exhibit periodic outliers, leaving 1000 Hz as the only fully stable polling rate. Polling stability is unaffected by any RGB lighting effect.
Paint Test
This test is used to indicate any potential issues with angle snapping (non-native straightening of linear motion) and jitter, along with any sensor lens rattle. As you can see, no issues with angle snapping can be observed. No jitter is visible at 1600 or 4000 CPI. 7200 CPI has the first level of smoothing and continues to look well-controlled. 19,000 CPI has the second level of smoothing but shows major jitter regardless. Lastly, there is no sensor lens movement.
Lift-off Distance
The M4 Wireless offers two pre-defined LOD levels. At the "1 mm" setting, the sensor does not track at a height of 1 DVD (<1.2 mm). Using the "2 mm" setting, the sensor does track at a height of 1 DVD (1.2 mm<x<2.4 mm, with x being LOD height), but not at a height of 2 DVDs. Keep in mind that LOD may vary slightly depending on the mousing surface (pad) it is being used on.
Click Latency
Since mechanical switches are being used for the buttons in most computer mice, debouncing is required in order to avoid unintended double clicks. Debouncing typically adds a delay (along with any potential processing delay), which shall be referred to as click latency. As there is no way to measure said delay directly, it has to be done by comparing it to a control subject, which in this case is the Logitech G203. Using the 2 ms debounce time setting, click latency has been measured to be roughly +2.3 ms when compared to the SteelSeries Ikari, which is considered as the baseline with 0 ms, with standard deviation being 0.64 ms. At the 4 ms setting, click latency is +4.3 ms, with standard deviation being 0.59 ms. At the 8 ms setting, click latency is +8.3 ms, with standard deviation being 0.60 ms. Finally, at the 12 ms setting, click latency is +12.3 ms, with standard deviation being 0.57 ms. Please keep in mind that the measured value is not the absolute click latency. Comparison data comes from this thread as well as my own testing, using qsxcv's program.
The main button switches were measured to be running at 3.31 V. I'm not aware of the voltage specifications of the Kailh GM 8.0 (80 M) switches, but consider it very likely that these are running within specifications.