Run the DisplayList Primitive Rendering benchmarks in post-submit - #185865
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a new benchmark target, primitive_rendering_benchmarks, and refactors the display_list_benchmarks configuration in engine/src/flutter/display_list/BUILD.gn. The changes also update CI builder configurations and benchmark execution scripts to include the new target. Feedback was provided to simplify the defines assignment in the GN file to improve readability.
|
One issue with this is that the scripts are only run on Linux currently and I think that may only enable the SkiaSoftware backend for the benchmarks. We should add a task that runs these scripts on Mac as well to get results for all of the Metal backends (SkiaMetal, ImpellerMetal, ImpellerMetalSDF). |
There was a problem hiding this comment.
does this new file get gobbled up in the same gcp file as the others because its in the same output folder or is there something else we need to do?
There was a problem hiding this comment.
Yes, they all end up in the out/foo directory and the upload script should find them there. I tested with --no-upload and it found (and parsed and didn't upload) all 9 of them.
There was a problem hiding this comment.
Checking the GCP buckets this morning shows that the file jumps from 119k to 160k around the time that this PR was merged, and it contains the new benchmark data.
We've defined new primitive rendering benchmarks to measure our ongoing work on the shaders that render our various primitive shapes, but these benchmarks are only currently run manually. This PR adds them to the suite of benchmarks that is run on every commit on Linux and uploads their results to the GCP store that contains our benchmark history.
Currently we are not uploading those historical benchmark json result files to Skia perf, but with this change we will at least have the history for them.
Fixes: #185708
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on [Discord].
If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.