游戏引擎的层数
一个游戏引擎基本的层包括工具层,功能层,资源层,核心层,平台层。
资源层
各个不同格式的资源在游戏引擎中会被转换成ats格式(资产),ats会有一个唯一编号。handle 系统会管理这些ats。
GC会影响资源的加载与游戏的性能。游戏引擎的核心是数据应该在引擎中怎样呈现。
功能层
tick(可以当做周期) 2个重要的tick
先tickLogic然后tickRender (主线程以及渲染线程)一个是逻辑一个是渲染。
引擎的架构是从单核逐渐向多核方向发展。
核心层
SIMD 结构是一种单指令多数据流的结构,这种结构的处理器可以把待处理的长数据分解为多个较短的数据,直接使用一条指令便可以同时并行完成多条短数据的处理,可以提高海量低位宽数据的处理能力。
Core - Data Structure and Containers 核心数据结构和容器
Core - Memory Management 核心内存管理
游戏引擎内存的基本原则:1.数据尽量放在一起。2.访问数据尽量保持顺序。3.操作数据(写或者删除等等)尽量一起操作。
Core - Foundation of Game Engine 游戏引擎的核心-基础
平台层
关系到游戏在各个平台的性能的好坏。
工具层
为什么分层
复杂问题简单化 清晰结构 关系透明化 减少重复开发
分层结构中,越在上面越灵活,越往下越稳定,尽量上层可以调用下层,下层不能调用上层。
总结
引擎是用分层结构设计的。
较低级别更稳定,较高级别更可自定义。
虚拟世界是由一组时钟组成的。