The ROCCAT Kain 200 is equipped with the PixArt PAW3335. According to specifications, the 3335 is capable of up to 16,000 CPI, as well as a maximum tracking speed of 400 IPS, which equals 10.16 m/s. Out of the box, five pre-defined CPI steps are available: 400, 800, 1200, 1600, and 3200.
CPI Accuracy
"CPI" (short for counts per inch) describes the amount of counts registered by the mouse if it is moved exactly one 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 vary 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, deviation is all over the place. 400 and 800 are way off, 1600 is spot on, and 3200 is a bit off. A below average result overall. Additionally, correcting any off-target values can be more difficult than anticipated. For one, when entering a value such as 750, it is automatically corrected to the next lower value that is a multiple of 100. Furthermore, even that value will end up being off—in this case, the 700 CPI step (nominally) ends up being 650 CPI (actually). For my testing, I've used corrected steps of 400, 800, 1600, and 3100.
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.
Since the Kain 200 can be used in both wired and wireless mode, I'll be testing it in both modes against the G403. Using a wired mouse as the control subject ensures that there is no additional source of possible wireless interference affecting the results.
Wired Testing
First, I'm looking at two xCount plots in order to determine whether there is any smoothing present, which would be indicated by any visible "kinks," and if there is, at which threshold it kicks in. As you can see, no such kinks can be observed at 1600 CPI, whereas at 16,000 CPI, it's plainly visible. From this we can conclude that the 3335 does not have a fully variable framerate, but several fixed framerate modes. While it's easy to show that there is smoothing, it's surprisingly difficult to determine at which CPI step the smoothing kicks in using the xCount test because the kinks are barely visible. Only through the xSum test (see below) was I able to establish that the highest CPI step without smoothing is 6100 CPI. In any case, SPI timing has fairly little jitter across the entire CPI range, which is a good thing.
I have to admit that the results the xSum test yielded are surprising to say the least. The line further to the left denotes the sensor with less motion delay. At 1600 CPI, a motion delay differential of roughly 2–2.5 ms can be seen already. This is in wired mode and at a CPI step without any smoothing, mind you. At 6200 CPI, the first level of smoothing is applied, resulting in a motion delay differential of roughly 4.5–5 ms. At 11,700 CPI, the second level of smoothing is applied, resulting in a motion delay differential of roughly 8.5–9 ms.
Wireless Testing
The wireless xCount plots are virtually indistinguishable from the wired ones. The grouping is still very tight, SPI timing jitter low, and smoothing thresholds are identical. A very good result, actually.
Testing is done at the same values as before. Keeping the established base delay above in mind, I can measure a wireless delay of 1.5–2 ms across the board.
Speed-Related Accuracy Variance (SRAV)
What people typically mean when they talk about "acceleration" is speed-related accuracy variance (or short SRAV). 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 4.5 m/s (which is within the proclaimed PCS range), at which speed no sign of the sensor malfunctioning can be observed.
Polling Rate Stability
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 not being in sync would be indicated by at least one visible 2 ms report, which would be the result of any desynchronization drift accumulated over time. As you can see, several 2 ms reports are visible, which confirms that the polling of the entire signal chain is not in sync.
Second, I'm testing general polling-rate stability of the individual polling rates in wireless mode. Running the Kain 200 at a lower polling rate can have the benefit of extending battery life. Variation is higher than average across the board, with outliers occurring whenever desync drift accumulates.
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. This time around, I'm testing four CPI values: 1600 CPI as a general use baseline; 6100 CPI as the highest CPI step without any smoothing; 6200 CPI as the first CPI step with smoothing; and 16,000 CPI as the highest CPI step with smoothing. As you can see, no issues with angle snapping can be observed at any of the tested CPI steps. 1600 CPI shows no jitter. At 6100 CPI, jitter is minor, and moderately lessened at 6200 CPI, where smoothing is first applied. 16,000 CPI then shows somewhat high jitter. Lastly, no sensor lens rattle can be observed.
Lift-off Distance
The Kain 200 offers two pre-defined LOD levels. At the default "very low" setting, the sensor does not track at a height of 1 DVD. Using the "low" setting, the sensor does track at a height of 1 DVD, 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. For some reason I can't get any readings in wireless mode, so results in wired mode will have to suffice.
The ROCCAT Kain 200 features a rather interesting and unusual function in the software called "Zero Debounce." The naming scheme is highly descriptive as it does exactly what it sounds like. With Zero Debounce set to off the usual debouncing is performed, which introduces a delay but prevents slam clicks from happening. With it enabled, no debounce delay is applied, reducing click latency accordingly, but introducing the possibility of slam clicks. With Zero Debounce disabled, click latency has been measured to be roughly +7.2 ms when compared to the SteelSeries Ikari, which is considered as the baseline with 0 ms. With Zero Debounce enabled, click latency has been measured to be roughly +0.35 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.