Skip to content
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

Open
davidhicks980 opened this issue Jan 13, 2025 · 4 comments
Open

DartPad should add repaint boundaries around animated widgets. #3120

davidhicks980 opened this issue Jan 13, 2025 · 4 comments

Comments

@davidhicks980
Copy link

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:

N/A

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:

N/A

DartPad's output

Did DartPad print anything to the console pane? If so, paste it below:

N/A

If you were running Flutter code, you can also paste an image of the
Flutter output directly into this bug report.

@johnpryan
Copy link
Contributor

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.

@johnpryan johnpryan closed this as not planned Won't fix, can't repro, duplicate, stale Feb 18, 2025
@devoncarew
Copy link
Member

@davidhicks980 - was your issue more about performance issues with the dartpad codebase itself?

@davidhicks980
Copy link
Author

@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.

@johnpryan johnpryan reopened this Feb 19, 2025
@johnpryan
Copy link
Contributor

Sorry, I misunderstood the issue. We should make sure we're efficiently rebuilding widgets, thanks for digging in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants