Size Reading Map¶
本页用于说明 size/ 目录中每份文档分别回答什么问题,以及建议的阅读顺序。
1. 先看哪一份¶
你的问题 |
先看 |
再看 |
|---|---|---|
整个应用最终有多大 |
|
|
想看 fast-path 相关配置现在还能调什么,以及各自的 |
|
|
某条 HQ 路径值不值得保留 |
|
|
某条 canvas 渲染路径会引入多少代码 |
|
|
某类 canvas 能力整体打开后会增加多少 ROM |
|
|
某个真实 widget 会带来多少代码体积 |
|
|
几个 feature 或 widget 能不能简单相加 |
|
|
想直接挑一个预设配置开始用 |
|
|
想确认模板能否直接编译通过 |
|
|
2. 各文档的定位¶
文档 |
作用 |
适合谁看 |
|---|---|---|
|
说明 qemu size 口径、统计范围和生成方法 |
框架维护者 |
|
汇总当前仍建议用户关注的 fast-path 配置,以及对应的 |
应用开发者、性能与裁剪负责人 |
|
真实示例集合的整体 |
平台、发布、性能负责人 |
|
|
渲染和框架维护者 |
|
普通 canvas 细分场景的路径级增量 |
底层渲染开发者 |
|
canvas feature 级别的组合增量 |
框架裁剪负责人 |
|
真实 widget 级别的组合增量 |
应用开发者 |
|
把几份报告整理成可执行的取舍顺序 |
所有人 |
|
四档可直接复用的模板说明 |
应用开发者 |
|
模板是否能直接编译通过的验证结果 |
框架维护者、CI |
3. 三种口径不要混着看¶
3.1 隔离增量¶
特点:
某条路径被强制链接后,额外增加多少
.text/.rodata适合回答“这项能力本身贵不贵”
代表文档:
hq_size_report.mdcanvas_path_size_report.md
3.2 组合增量¶
特点:
一组相关路径或控件同时打开后的真实组合成本
适合回答“业务真正需要这组能力时,总体要付出多少 ROM”
代表文档:
canvas_feature_size_report.mdwidget_feature_size_report.md
3.3 最终应用结果¶
特点:
真实应用 ELF 和 qemu 运行时的最终 size
包含 feature、widget、资源、应用代码和运行期统计
代表文档:
size_report.md
4. 按场景阅读¶
4.1 做框架裁剪¶
建议顺序:
canvas_feature_size_report.mdhq_size_report.mdsize_selection_guide.mdsize_preset_profiles.md
适合解决:
是否保留
mask / codec / transform是否保留默认 HQ 路径
应该从哪档模板起步
4.2 做应用选型¶
建议顺序:
widget_feature_size_report.mdsize_selection_guide.mdsize_preset_profiles.md
适合解决:
slider / switch / page_indicator / stepper这类基础控件怎么选gauge / activity_ring / chart_line这类重控件是否值得引入不同控件组合的大致 ROM 档位
4.3 做发布和平台验收¶
建议顺序:
size_report.mdsize_preset_validation.mdsize_selection_guide.md
适合解决:
最终应用整体指标是否达标
模板配置是否能直接交给用户使用
5. 模板入口¶
预设模板位于:
example/HelloSizeAnalysis/ConfigProfiles/tiny_rom/app_egui_config.hexample/HelloSizeAnalysis/ConfigProfiles/basic_ui/app_egui_config.hexample/HelloSizeAnalysis/ConfigProfiles/dashboard/app_egui_config.hexample/HelloSizeAnalysis/ConfigProfiles/full_feature/app_egui_config.h
模板说明见:
size_preset_profiles.md
模板编译验证见:
size_preset_validation.md
6. 总入口¶
如果不想逐个记脚本入口,可以直接使用统一调度脚本:
python scripts/size_analysis/main.py run-size-suite --quick
python scripts/size_analysis/main.py run-size-suite --full
python scripts/size_analysis/main.py run-size-suite --only hq,widget
python scripts/size_analysis/main.py run-size-suite --list-steps
说明:
--quick:每类报告只跑一小组代表性变体--full:跑各类报告的完整默认集合--only:只跑指定子集--list-steps:列出可用步骤
7. 一句话总结¶
做框架裁剪,先看 feature。
做应用选型,先看 widget。
做最终交付,先看整体 size_report.md,再回到 feature、widget 和模板页做取舍。