EUI-NEO v0.5.9
EUI-NEO v0.5.9
本次版本聚焦于 CMake 外部项目接入、渲染缓存稳定性和文档整理。项目构建流程现以 CMake 为唯一官方构建入口。
主要更新
CMake 接入与应用入口
- 修复外部项目调用
eui_neo_configure_app()时 CMake 子目录变量不可见的问题。 - 将应用入口、图标资源、运行资源和 MinGW 链接选项保存为全局构建属性,保证
add_subdirectory()、FetchContent和安装后的find_package()接入方式行为一致。 - 外部项目只需创建
CMakeLists.txt和main.cpp,然后调用eui_neo_configure_app(my_app)即可获得框架应用入口和运行资源部署。 - 改进 Windows、Linux 和 macOS 的构建运行说明,并统一示例使用
main.cpp。
渲染缓存与性能
- 调整脏区域合并估算,仅将实际省略的渲染 pass 计入合并开销,避免把分散的小区域错误合并成大面积重绘。
- 在 OpenGL 和 Vulkan 清屏时失效 backdrop capture,避免复用过期的背景模糊数据。
- 增加文本批处理 flush、文本顶点数、backdrop capture 和 capture reuse 统计,便于定位 GPU 和重绘开销。
- 补充脏区域合并、静态图像 retained layer 就绪状态等回归测试。
构建系统调整
- 移除 Xmake 配置、Xmake CI 矩阵、xmake-repo 接入和相关文档。
- CMake 成为仓库、外部项目和发布 SDK 的统一构建方式。
- 更新发布工作流和项目文档,使构建选项、后端选择和资源部署说明保持一致。
文档与网站
- 重组中文集成指南,按 FetchContent、源码子目录和 Release SDK 三种方式说明接入流程。
- 本地化模块和动态纹理文档路径,并同步网站索引、站点地图和 LLM 参考文档。
- 更新 Shadertoy、开发发布和快速开始文档中的 CMake 示例与应用入口说明。
升级说明
- v0.5.9 不再提供 Xmake 构建文件或 Xmake 包配方;请迁移到 CMake。
- FetchContent 用户应固定使用
GIT_TAG v0.5.9,或固定到等价的具体 commit。 - 外部应用推荐使用
main.cpp,实现app::dslAppConfig()和app::compose(...),并调用eui_neo_configure_app()。 - 使用 Vulkan、SDL2 或 Linux 托盘功能时,仍需按平台安装对应开发 SDK 或系统开发包。
验证
- CMake 配置验证:Windows / Visual Studio 生成器通过。
- 脏区域和静态图像缓存相关单元测试已补充。
- OpenGL/Vulkan 后端的缓存失效和统计路径已同步更新。
完整变更:v0.5.8...v0.5.9