Microsoft-ui-xaml: WinUI 3 has inferior “scrolling personality” compared to UWP in some scenarios

Created on 21 May 2020  Â·  3Comments  Â·  Source: microsoft/microsoft-ui-xaml

Describe the bug
UWP apps on devices with precision trackpads have a silky-smooth feel as you scroll through them with two fingers with a touchpad. It glides down pages and slows down as you release your fingers and bounces when you hit the ends. This experience continues in UWP apps using WinUI 3 in UWP. WinUI 3 apps in Win32, however, have a very choppy feel, where the scrolling does not glide or bounce.

The issues I’m writing about here occur with a precision touchpad. With a Synaptics touchpad (non-precision), the two-finger scrolling is choppy in WinUI 3 UWP, and in WinUI 3 Win32, essentially non-functional (see separate issue https://github.com/microsoft/microsoft-ui-xaml/issues/2482).

To summarize:
| Device | UWP without WinUI | UWP WinUI 3 | UWP Win32 |
| :-- | :-- | :-- | :-- |
| Precision touchpad | âś… Perfect scrolling | âś… Perfect scrolling | âš  Low quality scrolling |
| Synaptics touchpad | ✅ Perfect scrolling | ⚠ Low quality scrolling | 🛑 Totally non-functional https://github.com/microsoft/microsoft-ui-xaml/issues/2482 |
| Scroll wheel | âś… Perfect scrolling | âś… Perfect scrolling | âś… Perfect scrolling | âś… Perfect scrolling |
| Touch screen | âś… Perfect scrolling | âś… Perfect scrolling | âś… Perfect scrolling | âś… Perfect scrolling |

Steps to reproduce the bug

Steps to reproduce the behavior:

  1. Use a two-finger touchpad on a page with a scroll bar
  2. Depending on the scenario in the table, you will witness beautiful, smooth scrolling, or clunky scrolling, or no scrolling

Expected behavior
Scrolling with the scroll wheel and touch screen (and just dragging the scrollbar with the mouse) all function as expected already. The main issue is that WinUI 3 Win32 apps do not have high-quality scrolling with precision touchpads. Scrolling should feel the same in WinUI 3 for both UWP and Win32 as it does in UWP XAML for both precision and other touchpads alike.

Screenshots
| WinUI UWP | WinUI Win32 |
| :-: | :-: |
| WinUI 3 UWP Scrolling Beautiful, smooth with precision touchpad | WinUI 3 Win32 Scrolling Choppy, no bounce effect with precision touchpad |

Version Info

NuGet package version:
Microsoft.WinUI 3.0.0-preview1.200515.3


| Windows 10 version | Saw the problem? |
| :--------------------------------- | :-------------------- |
| Insider Build (xxxxx) | |
| November 2019 Update (18363) | Yes (tested Synaptics touchpad) |
| May 2019 Update (18362) | Yes (tested precision touchpad) |
| October 2018 Update (17763) | |
| April 2018 Update (17134) | |
| Fall Creators Update (16299) | |
| Creators Update (15063) | |


| Device form factor | Saw the problem? |
| :-------------------- | :------------------- |
| Desktop | Yes |
| Mobile | |
| Xbox | |
| Surface Hub | |
| IoT | |

needs-triage team-CompInput winui3preview

Most helpful comment

just while you're here I want to mention that you can't scroll horizontally in task manager and just overall scrolling in win32 apps sucks. Microsoft uses win32, even in new apps like Teams, so they can't just tell you to use WinUI and UWP.

All 3 comments

This, #2506, and #2486 seem related in that interactions with WinUI elements running in a Win32 process are rendered at 30 fps - or the DWM's rendering rate is just set to 30. @ranjeshj

just while you're here I want to mention that you can't scroll horizontally in task manager and just overall scrolling in win32 apps sucks. Microsoft uses win32, even in new apps like Teams, so they can't just tell you to use WinUI and UWP.

Changing the zoom factor of a scrollviewer in a mouse wheel handler is very smooth with the platform XAML in a XAML island but very choppy in winui3 desktop (Preview2)

Was this page helpful?
0 / 5 - 0 ratings