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

Add a DlStopwatchVisualizer and conditionally use it for Impeller #45259

Merged
merged 17 commits into from
Aug 30, 2023

Conversation

matanlurey
Copy link
Contributor

@matanlurey matanlurey commented Aug 30, 2023

Closes flutter/flutter#126009.

One major change, as-per @jonahwilliams's feedback, is that I created a helper class called DlVertexPainter, which provides a DrawRect-like API, but just builds a buffer of vertices, resulting into just a single:

// Actually draw.
canvas->DrawVertices(painter.IntoVertices(), DlBlendMode::kSrc, paint);

Also, added test for it, since there is no way to screenshot test to Impeller overlay yet.

Impeller

Screenshot 2023-08-30 at 2 08 51 PM

flow/stopwatch_dl.cc Outdated Show resolved Hide resolved
flow/stopwatch_dl.cc Outdated Show resolved Hide resolved
flow/stopwatch_dl.cc Outdated Show resolved Hide resolved
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its not as much of a help if you do a DlVertices per rectangle. instead you should pack all of your rectangles into a single vertices.

@matanlurey
Copy link
Contributor Author

if you do a DlVertices per rectangle. instead you should pack all of your rectangles into a single vertices

I think you might have seen an earlier commit (I did that just to make sure I was triangle-ing correctly, before refactoring into a single buffer). PTAL again?

flow/stopwatch_dl.cc Outdated Show resolved Hide resolved
flow/stopwatch_dl.cc Outdated Show resolved Hide resolved
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 30, 2023
@auto-submit auto-submit bot merged commit 73e8636 into flutter:main Aug 30, 2023
29 checks passed
@matanlurey matanlurey deleted the impeller-performance-overlay-impl branch August 30, 2023 23:16
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 31, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 31, 2023
…133720)

flutter/engine@8f1b77b...73e8636

2023-08-30 matanlurey@users.noreply.github.com Add a `DlStopwatchVisualizer` and conditionally use it for Impeller (flutter/engine#45259)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App
Projects
No open projects
Archived in project
2 participants