dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
21.9k stars 1.69k forks source link

[Windows] Scrolled event is triggered with some delays when scrolling using mouse pad #9524

Open KarthikRajaKalaimani opened 1 year ago

KarthikRajaKalaimani commented 1 year ago

Description

I have four views namely CustomDataGrid which is the main view and derived from the layout, CustomScrollView is the child of CustomDataGrid, CustomVisualContainer is derived from the layout and added to the content of CustomScrollView, CustomDataRow is the child of CustomVisualContainer. Whenever scrolling vertically the ScrollY position of CustomScrollView is stored in the VerticalOffSet property in the Scrolled event of ScrollView. Using the VerticalOffSet the y position of CustomDataRow is positioned. The CustomDataRow is layouts fine when scrolling using ScrollBar but when scrolling using mouse pad the CustomDataRow is jumping / Flickering.

Steps to Reproduce

  1. Run the attached sample.
  2. Scroll the CustomDataRow by using mousepad. FlickeringIssue.zip

Expected behavior: CustomDataRow should not jump/ flicker while scrolling using a mousepad.

Actual Behavior : CustomDataRow is jumped/flickered while scrolling using a mousepad. [Uploading screen-capture (1).webm…]()

Version with bug

6.0.486 (current)

Last version that worked well

Unknown/Other

Affected platforms

Windows

Affected platform versions

Windows

Did you find any workaround?

CustomDataRow is not flickered/jumped when scrolling using scrollbar

Relevant log output

'FlickeringIssue.exe' (CoreCLR: DefaultDomain): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\FlickeringIssue.dll'. Symbols loaded.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\WinRT.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Runtime.InteropServices.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Collections.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Collections.Concurrent.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Threading.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.WinUI.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Runtime.CompilerServices.Unsafe.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Private.Uri.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.ObjectModel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.ComponentModel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Numerics.Vectors.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Security.Cryptography.Algorithms.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Security.Cryptography.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Security.Cryptography.Csp.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Linq.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Memory.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.InteractiveExperiences.Projection.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.Controls.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Windows.SDK.NET.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Extensions.DependencyInjection.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.Essentials.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.Controls.Xaml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Extensions.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\netstandard.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Extensions.Configuration.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Extensions.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Xml.ReaderWriter.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Private.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.Graphics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Net.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.Graphics.Win2D.WinUI.Desktop.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Extensions.Logging.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.ComponentModel.TypeConverter.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Extensions.DependencyInjection.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Diagnostics.Tracing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Threading.ThreadPool.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Linq.Expressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Reflection.Emit.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'Snippets'. 
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Maui.Controls.Compatibility.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Reflection.Emit.Lightweight.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Reflection.Emit.ILGeneration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Reflection.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\System.Runtime.Loader.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'FlickeringIssue.exe' (CoreCLR: clrhost): Loaded 'C:\Users\KarthikrajaKalaimani\source\repos\FlickeringIssue\FlickeringIssue\bin\Debug\net6.0-windows10.0.19041.0\win10-x64\AppX\Microsoft.Graphics.Canvas.Interop.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 0x71ac has exited with code 0 (0x0).
The thread 0x5f64 has exited with code 0 (0x0).
ghost commented 1 year ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

KarthikRajaKalaimani commented 1 year ago

any update on this ?

Zhanglirong-Winnie commented 1 year ago

Verified this issue with Visual Studio Enterprise 17.6.0 Preview 7.0. Repro on windows platform with sample project. FlickeringIssue.zip Windows