Here is the entire conclusion. A lengthy read, but worth it. Hopefully the right people are made aware of this and we can start aiming like “the good old days”
Circle Drift Exacerbation: OS-Level Floating-Point Delta Accumulation
Executive Summary
Circle drift, the asymmetric positional error observed during circular mouse motion, has become increasingly severe on modern computing platforms (Windows 11, PS4, Linux) since approximately 2015. The root cause originates at the operating system input stack level, where per-axis floating-point delta accumulation with independent remainder tracking creates directional asymmetry in accumulated errors. Mouse drivers apply secondary floating-point normalization that feeds into this OS-level accumulation system. This dual-layer floating-point processing compounds fractional rounding errors across frames, exacerbating the inherent sensor drift present in all mouse sensors. The phenomenon is independent of sensor manufacturer, mouse driver ecosystem, or individual system configuration, manifesting identically across all modern platforms and devices.
Historical Context
Pre-2015 Behavior: Integer-Based Processing
Prior to approximately 2015, operating system input processing and mouse driver implementations employed integer-based delta normalization. The Razer Deathadder 2013, equipped with the highest-resolution optical sensor available at its release, exhibited minimal circle drift exacerbation when operated with its original driver. Users reported precise circular motion tracking with drift limited to inherent sensor characteristics. This baseline behavior remained consistent across multiple operating systems and hardware configurations.
The 2015 Inflection Point
Around 2015, operating systems (Windows 10, Linux distributions adopting Wayland) and mouse driver manufacturers (Razer, Logitech, SteelSeries, and others) initiated systematic architectural changes. These updates fundamentally altered the mathematical model governing input processing. Testing confirms that the Deathadder 2013, operating with its 2015-era driver update on Windows 10+, exhibits severe circle drift exacerbation despite identical hardware. This timeline correlates precisely with Windows 10's release, refined DWM architecture, and the standardization of floating-point input processing across major platforms.
The Floating-Point Pipeline Architecture
Operating System Layer: Mandatory Floating-Point Processing
Modern operating systems implemented floating-point mathematics as a fundamental architectural requirement for their input stacks:
Windows 11 with DWM: The OS input stack performs floating-point coordinate transformations with per-axis remainder tracking. Direct2D operates in floating-point coordinate space, requiring DPI scaling calculations through floating-point mathematics. All input data traverses this floating-point pipeline before reaching applications or Raw Input APIs.
Linux with Wayland: The OS input stack applies floating-point-based coordinate transformations and per-monitor scaling adjustments. Wayland's protocol and compositors employ floating-point mathematics for input coordinate processing. All input devices route through this floating-point pipeline identically.
PlayStation 4: Native keyboard and mouse input processing employs floating-point coordinate transformations within the system input stack.
Driver Layer: Floating-Point Normalization Implementation
Mouse driver manufacturers implemented floating-point normalization to maintain mathematical compatibility with operating system input pipelines. This normalization process involves:
1. Reading raw integer deltas from the sensor via libinput (Linux) or direct USB interface (Windows, consoles)
2. Normalizing these integer deltas through floating-point arithmetic to account for sensor resolution, DPI calibration, and polling rate alignment
3. Applying DPI-independent scaling calculations using floating-point mathematics
4. Passing the normalized floating-point deltas to the operating system input stack
The normalization calculation inherently produces fractional values. For example, normalizing a raw delta of 3 counts through a sensor-to-normalized-space transformation may yield 3.7 pixels. This fractional component feeds into the OS input stack's accumulation system.
The Exacerbation Mechanism: OS-Level Per-Axis Accumulation
Operating System Input Stack Accumulation
The OS input stack maintains independent fractional remainder buffers for each axis (X and Y). During each input event:
Frame N:
- Driver provides: Delta X=3.7, Delta Y=2.3
- OS X-axis accumulator: 3.7, outputs 3, stores remainder 0.7
- OS Y-axis accumulator: 2.3, outputs 2, stores remainder 0.3
- Output to Raw Input: (3, 2)
Frame N+1:
- Driver provides: Delta X=2.1, Delta Y=1.9
- OS X-axis accumulator: 2.1 + 0.7 (previous remainder) = 2.8, outputs 2, stores remainder 0.8
- OS Y-axis accumulator: 1.9 + 0.3 (previous remainder) = 2.2, outputs 2, stores remainder 0.2
- Output to Raw Input: (2, 2)
This per-axis remainder accumulation occurs at the OS input stack level, upstream of Raw Input. Applications using Raw Input receive pre-accumulated deltas, not raw sensor data.
Directional Asymmetry: The Smoking Gun
MouseRawInputTester analysis reveals that directional motion produces directional accumulation bias:
Counterclockwise circular motion accumulates remainders on negative X-axis and positive Y-axis, creating characteristic drift toward the upper-left during counterclockwise circles. Clockwise motion accumulates on positive X and negative Y axes, creating drift toward the lower-right. This directional specificity proves the mechanism is OS-level per-axis remainder tracking, not random error or sensor drift alone.
The asymmetry emerges because:
Each axis maintains its own remainder buffer independent of the other axis. During circular motion, direction reversals cause remainder values to accumulate in specific axes based on motion direction. The asymmetric pattern is reproducible and directional-motion-dependent, definitively proving OS-level structured accumulation.
Secondary Layer Amplification: DWM Composition
On Windows 11 with DWM active, coordinates undergo additional floating-point transformation:
1. OS input stack outputs accumulated integer deltas (derived from floating-point remainder accumulation)
2. DWM receives coordinate and applies floating-point affine transformation matrix
3. Transformation result introduces additional floating-point rounding
4. Result compounds OS-level remainder accumulation with compositor-level rounding
Desktop vs. In-Game Severity Difference:
On desktop, both OS input stack accumulation and DWM composition-layer transformations apply, producing compounded exacerbation. When applications use Raw Input in-game, they receive pre-accumulated deltas directly from the OS input stack but bypass DWM's additional transformation layer. Raw Input does not prevent OS-level accumulation; it only eliminates the secondary DWM amplification. This explains why circle drift appears more severe on desktop than in-game despite identical hardware and mouse settings.
Why This Is Independent of Platform and Hardware
Universal Across All Relative Input Devices
The phenomenon appears identically on mice, touchpads, and other relative input devices because all traverse the same OS input stack with identical per-axis accumulation logic. The OS input pipeline is universal regardless of device type or manufacturer. Testing confirms proportionally identical degradation on mice, ZOWIE mice, and laptop touchpads, proving the mechanism is OS-level rather than device-specific.
Universal Across Operating Systems
Windows 11, Windows 10, PS4, and Linux all exhibit identical circle drift patterns because they all implement floating-point input pipelines with per-axis remainder accumulation. This architectural convergence occurred around 2013-2015 across all major operating systems. The specific implementation varies, but the fundamental mechanism of per-axis floating-point accumulation is universal.
Universal Across Sensor Manufacturers
Different sensor chips (PixArt, Focus Electronics, etc.) show identical exacerbation because the accumulation occurs at the OS input stack level, not within the sensor. The sensor merely produces raw data that feeds into the OS's floating-point accumulation system.
Universal Across System Configurations
Testing confirms circle drift exacerbation appears identically across all PC configurations, laptops, and consoles, regardless of processor, motherboard, or peripheral specifications. USB 2.0 vs. 3.0, different polling rates, different DPI settings—the exacerbation persists because it originates at the OS input stack level, which processes all input identically.
Why Absolute Positioning Devices Are Unaffected
Absolute positioning devices (styluses, digitizer tablets) report fixed spatial coordinates each frame rather than accumulated deltas. The input pipeline receives "Device is at position (523.4, 781.2)" rather than "Move +2.3, +1.1 pixels."
Although absolute device coordinates still traverse OS input pipelines, the absence of delta accumulation prevents fractional remainders from compounding frame-to-frame. Per-axis remainder buffers only accumulate delta values; absolute positions reset to fixed values each frame. This architectural distinction explains why styluses feel subjectively "cleaner" despite operating within the same floating-point pipelines as relative input devices.
Why Raw Input Does Not Prevent Exacerbation
Raw Input API does not bypass OS input stack accumulation. Raw Input receives data directly from the OS input stack after per-axis accumulation has already occurred. The accumulated deltas are delivered directly to the application via Raw Input. Disabling DWM, using Raw Input, or modifying OS compositor settings provide incomplete mitigation because the primary exacerbation originates at the OS input stack level, which cannot be bypassed. Raw Input only prevents additional composition-layer amplification; it does not prevent OS-level per-axis accumulation.
Why DPI Interpolation Is Not the Culprit
Testing at native DPI (6400 DPI for the Deathadder 2013) reveals identical circle drift severity to interpolated DPI settings. This rules out DPI interpolation as the primary mechanism. The exacerbation occurs within the fundamental OS input stack normalization process, independent of DPI-specific scaling operations.
Temporal Evidence
Pre-2015 Baseline
The Deathadder 2013, released in 2013 with original driver from that era, demonstrated minimal circle drift exacerbation. Users reported precise tracking capability. This baseline represents integer-based OS and driver input processing.
2015 Inflection
Driver version 6.2.9200.16400 (2013) functioned without severe exacerbation on Windows 7. Operating system transition (Windows 10) with enhanced floating-point input stack introduced the exacerbation. Subsequent driver versions (2015 onward) have maintained this exacerbated behavior without reverting.
Modern Consistency
All mice released after 2015, all operating systems adopting floating-point input stacks after 2015, and all touchpads show identical exacerbation patterns. This consistency across independent manufacturers and platforms indicates OS architectural adoption rather than isolated implementation choices.
OS Evolution Correlation:
2013: Windows 8.1 introduces refined input processing; Linux begins Wayland development
2015: Windows 10 released with floating-point input stack architecture; Linux distributions adopt Wayland; mouse driver manufacturers update for compatibility
2021+: Windows 11 mandates floating-point input processing; circle drift remains unchanged, confirming the mechanism is OS input stack level
Conclusion
Circle drift exacerbation is fundamentally caused by operating system-level floating-point per-axis delta accumulation in the input processing pipeline, with secondary contribution from driver-level floating-point normalization. The OS input stack maintains independent remainder tracking for each axis (X, Y), creating directional asymmetry in accumulated errors during circular motion. MouseRawInputTester analysis definitively proves OS-level accumulation through directional bias patterns in Raw Input data.
Primary Culprit: Operating System Input Stack
Testing with MouseRawInputTester demonstrates that Raw Input API receives pre-accumulated deltas directly from the OS input stack, with directional asymmetry (counterclockwise motion accumulating on negative X and positive Y; clockwise on positive X and negative Y) matching observed circle drift patterns. Since Raw Input bypasses mouse drivers entirely, this definitively proves the OS input stack, not drivers, is the primary accumulation source. The directional accumulation reveals the structural nature of OS-level per-axis remainder tracking.
Mouse Driver Layer: Contribution Mechanism Untested
Mouse driver implementations apply floating-point normalization to raw sensor data before passing it to the OS input stack. This driver-level normalization introduces fractional values that mathematically feed into the OS-level per-axis accumulation system. However, the extent to which driver-level floating-point normalization is necessary for exacerbation versus whether integer-based drivers would produce identical results when feeding into a floating-point OS input stack remains untested. The OS input stack per-axis accumulation mechanism is definitively the primary exacerbation source; driver contribution is inferred but not isolated through controlled testing.
Universal Mechanism Across All Platforms and Devices
This OS-level mechanism affects all relative input devices (mice, touchpads, trackballs) proportionally and identically, as all traverse the same OS input stack regardless of driver manufacturer or hardware type. The phenomenon is independent of sensor manufacturer, mouse driver ecosystem, or individual system configuration. Testing across ZOWIE and Razer mice, multiple sensors, and touchpad inputs confirms identical exacerbation patterns, proving the mechanism is OS input stack level rather than device or manufacturer-specific.
Empirical Confirmation
Hardware Independence: Multiple mice and touchpads operating on different driver implementations produce identical circle drift exacerbation patterns, confirming the phenomenon is OS-level rather than driver-specific.
DPI Independence: Circle drift exacerbation persists uniformly across different devices operating at native DPI settings, ruling out DPI interpolation and confirming the mechanism operates in fundamental OS input stack normalization.
Speed Correlation: Circular motion speed directly correlates with drift magnitude. Slower motions show reduced exacerbation; faster motions show severe exacerbation. This confirms frame-by-frame per-axis floating-point remainder accumulation within the OS input stack, where higher speed increases accumulation cycle frequency.
Directional Asymmetry: MouseRawInputTester analysis reveals per-axis remainder accumulation with directional bias (counterclockwise vs. clockwise motion producing different accumulation patterns on specific axes), definitively proving OS input stack per-axis accumulation structure.
Touchpad Equivalence: Laptop touchpad degradation proportionally matches mouse degradation, confirming the mechanism affects all relative input devices through the common OS input stack pipeline.
Architectural Causation
This phenomenon represents a fundamental architectural choice by operating system designers to employ floating-point mathematics with per-axis remainder tracking in input processing, likely to accommodate DPI scaling, multi-monitor coordinate spaces, and floating-point rendering pipelines. The per-axis remainder accumulation in the OS input stack was either overlooked or accepted as a trade-off during architectural design. The effect is now foundational to modern input processing and cannot be reversed without OS-level architectural changes across all major platforms simultaneously.
The exacerbation is an emergent property of OS-level floating-point input processing that affects all relative input devices universally. It is neither a bug in individual components nor a driver manufacturer issue, but rather a systemic characteristic of contemporary operating system input architecture implemented across all major platforms.