云风的 BLOG

云风的 BLOG -

近期 ECS 的一些优化

最近在优化我们的 3d engine 。引擎的渲染对象管理层是基于 ECS 框架,且整个引擎基于 Lua 设计和构建。也就是说,渲染部分的数据都可以通过 Lua 读写。但是,对于核心渲染循环,Lua 的性能有限,当需要渲染的对象很多时,之前用 Lua 编写的循环的性能问题就显露出来。 为此,我们很早就设计了 luaecs。把数据放在 C 结构中,并给出 Lua 访问的接口。这样就方便了初期使用 Lua 快速开发,后期针对核心循环用 C 重构优化。今年年初时,我们把渲染核心系统用 C 重构了一遍,基本解决了性能问题。...

该文介绍了对3D引擎进行的ECS优化,包括分组特性和索引cache的使用,以提高性能。作者成功实现了每个world都有自己的独立全局对象组,访问它们的时间复杂度为O(1)。

3D引擎 ECS优化 分组特性 性能提升 索引cache

相关推荐 去reddit讨论

热榜 Top10

eolink
eolink
观测云
观测云
LigaAI
LigaAI
Dify.AI
Dify.AI

推荐或自荐