62e37f1ec5
Uses the following algorithm for Skottie+WASM: * Start timer when you see BeginImplFrameToSendBeginMainFrame * Stop timer for main_frame_aborted * Abandon frame_id if you see replaced_by_new_reporter_at_same_stage, did_not_produce_frame or missed_frame Getting consistently 25 frames for all lottie-samples with the above algorithm. Uses the following algorithm for Lottie-Web: * Start timer when you see BeginImplFrameToSendBeginMainFrame * Stop timer for missed_frame or submitted_frame * Abandon frame_id if you see replaced_by_new_reporter_at_same_stage, did_not_produce_frame or main_frame_aborted Getting 25 sometimes but also getting other numbers like 20, 27, etc. This is probably because there are more moving parts and it is hard to predict when Chrome is going to render frames and how many. We might not get exactly 25 here like for Skottie+WASM, but we will use whatever the tracer gives us (we can always revisit this later). NoTry: true Bug: skia:9237 Change-Id: Ia4d5aaf6ac95399b80574d1579358abda4e4e2ea Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225898 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Joe Gregorio <jcgregorio@google.com> |
||
---|---|---|
.. | ||
android_compile.expected | ||
calmbench.expected | ||
check_generated_files.expected | ||
compile.expected | ||
compute_buildstats.expected | ||
compute_test.expected | ||
g3_compile.expected | ||
housekeeper.expected | ||
infra.expected | ||
perf_canvaskit.expected | ||
perf_pathkit.expected | ||
perf_skottietrace.expected | ||
perf_skottiewasm_lottieweb.expected | ||
perf.expected | ||
recreate_skps.expected | ||
skpbench.expected | ||
skqp_test.expected | ||
test_canvaskit.expected | ||
test_lottie_web.expected | ||
test_pathkit.expected | ||
test_skqp_emulator.expected | ||
test.expected | ||
upload_buildstats_results.expected | ||
upload_calmbench_results.expected | ||
upload_dm_results.expected | ||
upload_nano_results.expected | ||
upload_skiaserve.expected | ||
android_compile.py | ||
calmbench.py | ||
check_generated_files.py | ||
compile.py | ||
compute_buildstats.py | ||
compute_test.py | ||
g3_compile.py | ||
housekeeper.py | ||
infra.py | ||
perf_canvaskit.py | ||
perf_pathkit.py | ||
perf_skottietrace.py | ||
perf_skottiewasm_lottieweb.py | ||
perf.py | ||
README.md | ||
recreate_skps.py | ||
skpbench.py | ||
skqp_test.py | ||
test_canvaskit.py | ||
test_lottie_web.py | ||
test_pathkit.py | ||
test_skqp_emulator.py | ||
test.py | ||
upload_buildstats_results.py | ||
upload_calmbench_results.py | ||
upload_dm_results.py | ||
upload_nano_results.py | ||
upload_skiaserve.py |
Skia Recipes
These are the top-level scripts which run inside of Swarming tasks to perform all of Skia's automated testing.
To run a recipe locally:
$ python infra/bots/recipes.py run --workdir=/tmp/<workdir> <recipe name without .py> key1=value1 key2=value2 ...
Each recipe may have its own required properties which must be entered as key/value pairs in the command.
When you change a recipe, you generally need to re-train the simulation test:
$ python infra/bots/recipes.py test train
Or:
$ cd infra/bots; make train
The test generates expectations files for the tests contained within each recipe which illustrate which steps would run, given a particular set of inputs. Pay attention to the diffs in these files when making changes to ensure that your change has the intended effect.