-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Description
When migrating our app from Xamarin.Forms to .NET MAUI we noticed that for most of our CollectionViews the performance when scrolling was worse.
When new views appeared the CollectionView would stutter/jitter resulting in an unpleasant user experience.
Our item templates are somewhat complex but still worked great in Xamarin.Forms.
In the linked repro apps, we have a template called CardWithComplexContent which is somewhat similar to the template in our app.
Note
- In the .NET MAUI project we are using nightly build 8.0.20-nightly.10367
- This includes [C] use ResourcesChanged to propagate Theme #21229
- We are using Release configuration when testing performance
Android (Samsung A73) - Xamarin.Forms
Android.-.Xamarin.mp4
Android (Samsung A73) - MAUI
Android.-.Maui.mp4
iOS (iPhone 6s) - Xamarin.Forms
iOS.-.Xamarin.mp4
iOS (iPhone 6s) - MAUI
iOS.-.Maui.mp4
Steps to Reproduce
- Checkout .NET MAUI and Xamarin.Forms repro projects.
- Build and deploy the apps to your devices in Release configuration.
- Run both apps and select either the CardWithTheLot or CardWithComplexContent template.
- Compare scrolling performance on both apps (fast scrolling and slow scrolling).
The apps contain other templates for attempting to isolate elements which impact performance the most.
Accepting PRs or suggestions on the repro app repos for templates to add for comparison.
Acceptance Criteria
The scrolling experience on .NET MAUI performs as well as or better than Xamarin.Forms for all affected platforms.
Link to public reproduction project repository
https://github.com/eth-ellis/Issue-Repro/tree/main/CollectionViewPerformanceXamarin and https://github.com/eth-ellis/Issue-Repro/tree/main/CollectionViewPerformanceMaui
Version with bug
Nightly / CI build (Please specify exact version)
Is this a regression from previous behavior?
Yes, this used to work in Xamarin.Forms
Last version that worked well
Unknown/Other
Affected platforms
iOS, Android
Affected platform versions
No response
Did you find any workaround?
No response
Relevant log output
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status