Describe el error
Las aplicaciones para UWP en dispositivos con trackpads de precisión tienen una sensación suave como la seda a medida que se desplaza por ellas con dos dedos con un panel táctil. Se desliza por las páginas y se ralentiza a medida que suelta los dedos y rebota cuando llega a los extremos. Esta experiencia continúa en aplicaciones para UWP que usan WinUI 3 en UWP. Las aplicaciones WinUI 3 en Win32, sin embargo, tienen una sensación muy entrecortada, donde el desplazamiento no se desliza ni rebota.
Los problemas sobre los que estoy escribiendo aquí ocurren con un panel táctil de precisión. Con un panel táctil Synaptics (que no es de precisión), el desplazamiento con dos dedos es entrecortado en WinUI 3 UWP y en WinUI 3 Win32, esencialmente no funcional (consulte el número separado https://github.com/microsoft/microsoft-ui- xaml / issues / 2482).
Para resumir:
| Dispositivo | UWP sin WinUI | UWP WinUI 3 | UWP Win32 |
| : - | : - | : - | : - |
| Touchpad de precisión | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto | ⚠ Desplazamiento de baja calidad |
| Touchpad Synaptics | ✅ Desplazamiento perfecto | ⚠ Desplazamiento de baja calidad | 🛑 Totalmente no funcional https://github.com/microsoft/microsoft-ui-xaml/issues/2482 |
| Rueda de desplazamiento | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto |
| Pantalla táctil | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto | ✅ Desplazamiento perfecto |
Pasos para reproducir el error
Pasos para reproducir el comportamiento:
Comportamiento esperado
Desplazarse con la rueda de desplazamiento y la pantalla táctil (y simplemente arrastrar la barra de desplazamiento con el mouse) funciona como se esperaba. El problema principal es que las aplicaciones WinUI 3 Win32 no tienen un desplazamiento de alta calidad con paneles táctiles de precisión. El desplazamiento debería sentirse igual en WinUI 3 para UWP y Win32 que en UWP XAML tanto para precisión como para otros paneles táctiles.
Capturas de pantalla
| WinUI UWP | WinUI Win32 |
| : -: | : -: |
| Hermoso, suave con touchpad de precisión | Entrecortado, sin efecto de rebote con panel táctil de precisión |
Información de la versión
Versión del paquete NuGet:
Microsoft.WinUI 3.0.0-preview1.200515.3
| Versión de Windows 10 | ¿Vio el problema? |
| : --------------------------------- | : -------------------- |
| Compilación de información privilegiada (xxxxx) | |
| Actualización de noviembre de 2019 (18363) | Sí (panel táctil Synaptics probado) |
| Actualización de mayo de 2019 (18362) | Sí (panel táctil de precisión probado) |
| Actualización de octubre de 2018 (17763) | |
| Actualización de abril de 2018 (17134) | |
| Actualización de Fall Creators (16299) | |
| Actualización de creadores (15063) | |
| Factor de forma del dispositivo | ¿Vio el problema? |
| : -------------------- | : ------------------- |
| Escritorio | Si |
| Móvil | |
| Xbox | |
| Surface Hub | |
| IoT | |
Esto, # 2506 y # 2486 parecen estar relacionados en el sentido de que las interacciones con los elementos WinUI que se ejecutan en un proceso Win32 se procesan a 30 fps, o la tasa de procesamiento de DWM se establece en 30. @ranjeshj
Justo mientras estás aquí, quiero mencionar que no puedes desplazarte horizontalmente en el administrador de tareas y que el desplazamiento general en las aplicaciones win32 apesta. Microsoft usa win32, incluso en aplicaciones nuevas como Teams, por lo que no pueden simplemente decirte que uses WinUI y UWP.
Cambiar el factor de zoom de un visor de desplazamiento en un controlador de rueda del mouse es muy sencillo con la plataforma XAML en una isla XAML, pero muy entrecortado en el escritorio winui3 (Preview2)
Comentario más útil
Justo mientras estás aquí, quiero mencionar que no puedes desplazarte horizontalmente en el administrador de tareas y que el desplazamiento general en las aplicaciones win32 apesta. Microsoft usa win32, incluso en aplicaciones nuevas como Teams, por lo que no pueden simplemente decirte que uses WinUI y UWP.