-
Notifications
You must be signed in to change notification settings - Fork 569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DartPad should add repaint boundaries around animated widgets. #3120
Comments
Thanks for filing an issue, for this type of thing, we recommend using DevTool's Highlight Repaints feature on an app running using a local version of Flutter. |
@davidhicks980 - was your issue more about performance issues with the dartpad codebase itself? |
@devoncarew Yeah, but it is somewhat minor so I was going to let it close. I pulled the codebase and was trying to figure out why it felt a bit janky on web. Everything appeared to work fine, but the whole app painting on small changes was leading to some jank. Not sure how helpful the issue is -- I know repaint boundaries also add some overhead by inserting new layers -- but I wanted to let you all know. |
Sorry, I misunderstood the issue. We should make sure we're efficiently rebuilding widgets, thanks for digging in. |
What happened?
DartPad has visual stutters, especially on lower-end devices.
Steps to reproduce problem
Press any inkwell.
Additional info
I profiled and the whole app appears to be repainting on small widget repaints. See here:
Screen.Recording.2025-01-13.at.4.31.57.PM.mov
Without repaint boundary around button (each paint repaints the entire widget tree):
Screen.Recording.2025-01-13.at.5.48.32.PM.mov
With repaint boundary (first paint repaints entire widget tree. Subsequent paints don't. Note the length of the frame).
Screen.Recording.2025-01-13.at.5.47.47.PM.mov
Browser
Browser: Chrome 131.0.6778.265 arm64
Version:
Are you using any extensions/plugins that affect website behavior
(particularly those that affect iframes, such as ad blockers)?
Are there any warnings or errors in your browser's JavaScript console?
If so, paste them below:
Machine
Operating system: M1 Pro MacOS
Version:
Your code
What code was in the editor, if any, when the failure occurred? You
can paste it in below:
DartPad's output
Did DartPad print anything to the console pane? If so, paste it below:
If you were running Flutter code, you can also paste an image of the
Flutter output directly into this bug report.
The text was updated successfully, but these errors were encountered: