Redth/Maui.VirtualListView

scrolling performance

Opened this issue · 5 comments

I use Maui VirtualListView replaces CollectionView, attempts to solve the issue of smooth scrolling.
But there seems to be no significant improvement.
The itemTemplate contains 1'Label' and 10'Entry'.

OS: Android7.1

Are you running this in debug mode? release mode? can you attach a sample to repro it? Show a video too?

If you are gauging performance in debug mode, don't. There's a number of things that will degrade performance in debug, including JIT mode by default, and the live visual tree inspection.

I'm very confident it's completely possible to achieve buttery smooth scrolling with this library.

I have been testing it here with my project to compare CollectionView performance issues for MAUI. Have not seen issues I didn't expect yet when running in release mode (only tested on macOS)

Perhaps it's related to the Android version.
Only Xamarin-CollectionView is smooth on Android 7.1 devices.
Tested on Android 13 phones, Xamarin-CollectionView, Maui-CollectionView, and Maui.VirtualListView is very smooth

For my teams use case we are seeing the exact same performance when using VirtualListView vs CollectionView in Release configuration. The scrolling is somewhat smooth, but jittery when new items appear causing a poor UX when scrolling fast through the list. We believe this is likely due to our item templates being fairly complex.

We have found that this control is much more reliable than CollectionView though.

One of our main issues with CollectionView was that the header would not redraw correctly on orientation changes, text size changes or header content visibility changes.

This all appears to be working perfectly with VirtualListView though on Android and iOS (haven't tested Windows or Mac).

There are a couple features missing from CollectionView we'd love to see implemented, such as RemainingItemsThreshold for infinite scroll, or ItemsViewScrolledEventArgs for the OnScrolled event, but overall, a great control.

For my teams use case we are seeing the exact same performance when using VirtualListView vs CollectionView in Release configuration. The scrolling is somewhat smooth, but jittery when new items appear causing a poor UX when scrolling fast through the list. We believe this is likely due to our item templates being fairly complex.

We have found that this control is much more reliable than CollectionView though.

One of our main issues with CollectionView was that the header would not redraw correctly on orientation changes, text size changes or header content visibility changes.

This all appears to be working perfectly with VirtualListView though on Android and iOS (haven't tested Windows or Mac).

There are a couple features missing from CollectionView we'd love to see implemented, such as RemainingItemsThreshold for infinite scroll, or ItemsViewScrolledEventArgs for the OnScrolled event, but overall, a great control.

This has been my experience also.
I wonder if there's a way of "preloading" all the different item templates.
I have done this before with the ListView (on Xamarin Forms) and even though it took longer to "initialize" the Page/ListView the scrolling afterwards was much smoother. (totally worth it from UX perspective for our app)