Perf test with SkSL warm-up#56638
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat. Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
|
@jonahwilliams this test is now ready for review! It exercises all the tools that we've built so far and measures a ~2x speedup on the worst frame rasterization time. I also look forward to the iOS tool so we can achieve similar speedup in our ios32 benchmarks! |
There was a problem hiding this comment.
is this missing the rest of the sentence
There was a problem hiding this comment.
Removed and replaced with --vmservice-out-file
There was a problem hiding this comment.
You should delete the file before the test starts and then poll for the existence, that avoid scraping stdout which I 100% guarantee is less reliable. See https://github.com/flutter/flutter/blob/master/dev/devicelab/lib/tasks/track_widget_creation_enabled_task.dart#L118
jonahwilliams
left a comment
There was a problem hiding this comment.
Overall approach looks good, but you really need to use the vmservice-out-file or this test will not be reliable/will cause problems if we rephrase any of the messages
Separately, I need to expose a vm service method for pulling the sksl. That would remove the need for all stdout scraping. I can clean that up later though
There was a problem hiding this comment.
I added a vm service request for this, so the stdin is unnecessary: https://github.com/flutter/flutter/blob/master/packages/flutter_tools/test/integration.shard/vmservice_integration_test.dart#L85
There was a problem hiding this comment.
I tried the vmservice but got flutterGetSkSL: (-32601) Method not found or s0.flutterGetSkSL: (-32601) Method not found... Can you please check my latest commit and see what I did wrong?
There was a problem hiding this comment.
Right now the method is only hooked up in debug mode, are you running in profile/release to generate the sksl? or are you sending the request during drive?
There was a problem hiding this comment.
if its easier I could add logic to write on exit for drive
|
@jonahwilliams, it's now using |
|
Yay! I'll try and get iOS hooked up with the sksl bundle soon |
This test verifies that SkSL warmup can speedup cubic_bezier_perf's worst frame rasterization time by 2x (from ~90ms to ~45ms).
Fixes #35142