Become a tech lead, slay bugs, and don't get fired.
All in Flutter.
The game progression is based on a "research tree" of tasks. The tree is defined in code
in lib/src/shared_state/task_tree
but for clarity it is also kept as a diagram
in assets/docs
. Here's the PNG.
Attach a real device and run the following command from the root of the repo:
flutter drive --target=test_driver/performance.dart --profile
This will do an automated run-through of the app, and will save the output to files.
build/walkthrough-*.json
files for detailed summaries of each run.test_driver/perf_stats.tsv
to compare latest runs with historical data.Rscript test_driver/generate-graphs.R
(assuming you have R installed) to generate
boxplots of the latest runs. This will show up as test_driver/*.pdf
files.durations.tsv
file. These files contain build and rasterization times for each frame
for every run.If you want to get several runs at once, you can use something like the following command:
DESC="my change" bash -c 'for i in {1..5}; do flutter drive --target=test_driver/performance.dart --profile; sleep 1; done'
Why run several times when we get so many data points on each walkthrough? With several identical walkthroughs it's possible to visually check variance between runs. Even with box plots, these nuances get lost in the summary stats, so it's hard to see whether a change actually brought any performance improvement or not. Running several times also eliminates the effect of extremely bad luck, like for example when Android decides to update some app while test is running.
Run the following command when your performance test device is attached via USB.
./tool/lock_android_scaling.sh
WARNING:
You probably don't want to check the *.tsv
output files into the repo. For that,
run git update-index --assume-unchanged test_driver/*.tsv
in the root dir. This is a one time
command per machine.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型