Modeling and Reducing Spatial Jitter caused by Asynchronous Input and Output Rates

Axel Antoine1,2,3,4,5, Mathieu Nancel5,2,3, Ella Ge1, Jingje Zheng1, Navid Zolghadr1, Géry Casiez2,3,4,5,6
1Google, Kitchener, Canada, 2Univ. Lille, UMR 9189 - CRIStAL, France, 3CNRS, UMR 9189, Lille, France, 4Centrale Lille, Lille, France, 5Inria, France, 6Institut Universitaire de France (IUF)

This page provides additional material to our UIST '20 paper.

Jitter in interactive systems occurs when visual feedback is per­ ceived as unstable or trembling even though the input signal is smooth or stationary. It can have multiple causes such as sens­ing noise, or feedback calculations introducing or exacerbating sensing imprecisions. Jitter can however occur even when each individual component of the pipeline works perfectly, as a result of the differences between the input frequency and the display refresh rate. This asynchronicity can introduce rapidly-shifting latencies between the rendered feedbacks and their display on screen, which can result in trembling cursors or viewports. This paper contributes a better understanding of this particular type of jitter. We first detail the problem from a mathematical standpoint, from which we develop a predictive model of jitter amplitude as a function of input and output fre­quencies, and a new metric to measure this spatial jitter. Using touch input data gathered in a study, we developed a simulator to validate this model and to assess the effects of different techniques and settings with any output frequency. The most promising approach, when the time of the next display refresh is known, is to estimate (interpolate or extrapolate) the user’s position at a fixed time interval before that refresh. When input events occur at 125 Hz, as is common in touch screens, we show that an interval of 4 to 6 ms works well for a wide range of display refresh rates. This method effectively cancels most of the jitter introduced by input/output asynchronicity, while introducing minimal imprecision or latency.

Try on a Pixel 4 device

You can test the resampling technique on a Pixel 4 in Chromium or Google Chrome. The technique is enabled by default but you can disable it by changing the enable-sampling-scroll-events setting to Disabled in chrome://flags/#enable-resampling-scroll-events As of 2023, the technique is enabled by default in Chrome on Android.

Links and Downloads

References

Antoine, A., Nancel, M., Ge, E., Zheng, J., Zolghadr, N. & Casiez, G. (2020). Modeling and Reducing Spatial Jitter caused by Asynchronous Input and Output Rates. In proceedings of the 2020 ACM Symposium on User Interface Software and Technology, 1–13. Association for Computing Machinery.