近期 ECS 的一些优化
最近在优化我们的 3d engine 。引擎的渲染对象管理层是基于 ECS 框架,且整个引擎基于 Lua 设计和构建。也就是说,渲染部分的数据都可以通过 Lua 读写。但是,对于核心渲染循环,Lua 的性能有限,当需要渲染的对象很多时,之前用 Lua 编写的循环的性能问题就显露出来。 为此,我们很早就设计了 luaecs。把数据放在 C 结构中,并给出 Lua...
该文介绍了对3D引擎进行的ECS优化,包括分组特性和索引cache的使用,以提高性能。作者成功实现了每个world都有自己的独立全局对象组,访问它们的时间复杂度为O(1)。