games104听课笔记第二节
第二节:引擎架构分层
to-do-list:[延迟加载]
资源层,功能层,核心层,平台层,工具层
资源层
资源从别的软件格式转换到对引擎来说比较高效的格式,每个游戏资产具有唯一的识别号(GUID)用于资产之间依赖记录。
负责存储联系不同的游戏资产,管理资产实时的生命周期(什么时候加载卸载、GC、LOD延迟加载等)。
功能层
先tickLogic再tickRender,先模拟物理过程再渲染
多核多线程处理
核心层
数学运算,矩阵变换(其中物理系统中的数学推导很复杂)
SIMD:单指令多数据
内存管理(最重要):内存池,增加缓存命中,内存对齐
方法:
- 数据连续分配
- 连续访问数据
- 按块分配/销毁内存
平台层
解决不同平台的兼容性
Graphics API:OpenGL,DirectX11,DirectX12,Vulkan
工具层
Level Editor,Logical Editor,Shader Editor,UIEditor,Animation Editor