Replies: 3 comments 3 replies
-
Opening it as an issue is a better route. |
Beta Was this translation helpful? Give feedback.
1 reply
-
Now posted as issue here: #12385 |
Beta Was this translation helpful? Give feedback.
0 replies
-
How to make smooth horizontal scrolling in dotnet MAUI? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
I'm working on a cross-platform app that requires buttery smooth scrolling of large items and I'm encountering a whole bunch of stuttering and hitching with MAUI.
There's a little test app here that should help my description a bit:
https://github.com/Glacial/MauiAnimationSmoothnessTest
The test app move some items around the screen and measures the time between PropertyChanged events being fired as an animation affects a property. An average is based off the last 100 reading as is shown along with a "low" and "high" time within that 100.
The large bars are animated by moving a fixed number of pixels each update instead of using a delta time. This highlights the variance in frame times more. The progress bar is using a MAUI animation so should be using a delta time solution, but can still appear choppy. The statements below are based on Release mode builds.
On Windows, the animation loop is very choppy, unable to maintain a steady 60fps. The stats output by the test app show an average around 16.33ms (good) but wobbles where the gap between animation updates is as low as 0.6ms or as high as 33.4ms. This variance creates notably unstable looking movement. This is without interacting with the app.
iOS fares much better, maintaining an average 16.66ms per frame with little variance, that is until you interact. When you interact note that the "High" time can suddenly double and frame skips can be noted. Try dragging around the slider to create a little choppiness. My tests were performed on an iPad Air (5th Gen).
Is there anything I can do to improve the animation rates so they look more steady and professional (such as paint to screen myself)? Is there still work for the MAUI team to do to improve this (if so should this be re-posted as an issue)?
I've experimented with using a separate PlatformTicker to drive my timings with no improvements (probably because I still can't influence the screen paint time) so I assume the problems are with the underlying platform specific hooks.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions