板端测试发现轻量 Demo 在未优化 ARM 构建下只有十几帧,但 Release 构建后可达到约 76 FPS。问题主要来自单配置 CMake 构建未默认启用 Release,以及 fb0 提交路径逐像素通用转换成本过高。 本次变更将单配置生成器默认构建类型设为 Release,避免 ARM/fb0 性能测试误用未优化构建;同时为 FBDisplay 增加 RGB565、ARGB8888/XRGB8888、RGBA8888 连续内存等常见格式快速路径。Demo 临时移除旋转正方体,保留 2D sprite、tilemap、FPS 和 Frame/Present 耗时显示,用于定位板端 framebuffer 提交瓶颈。 Constraint: IMX6U framebuffer 性能结论必须基于 Release 构建 Constraint: 核心代码保持 C++11 兼容,不引入新依赖 Rejected: 直接判断板子性能不足 | 未优化构建会严重放大逐像素循环成本 Rejected: 继续优化 3D 正方体路径 | 当前瓶颈已由 Frame/Present 计时证明主要在 fb0 present Confidence: high Scope-risk: moderate Directive: 后续板端性能测试先确认 CMAKE_BUILD_TYPE=Release,再分析算法瓶颈 Directive: 2D-only 场景不要使用会清 depth buffer 的 DrawContext::clear() Tested: cmake --build build-win --config Release Tested: wsl bash -lc "cd /mnt/d/source/IMX6U-Game && cmake --build build-arm-fb" Not-tested: 实机 framebuffer 像素格式以外的非常见 fb0 layout |
||
|---|---|---|
| .. | ||
| APP_AND_GFX_ARCHITECTURE.md | ||
| CONVENTIONS.md | ||
| DEVELOPMENT_GUIDELINES.md | ||