games104听课笔记第二节

第二节:引擎架构分层

to-do-list:[延迟加载]

资源层,功能层,核心层,平台层,工具层

My helpful screenshot

资源层

资源从别的软件格式转换到对引擎来说比较高效的格式,每个游戏资产具有唯一的识别号(GUID)用于资产之间依赖记录。

负责存储联系不同的游戏资产,管理资产实时的生命周期(什么时候加载卸载、GC、LOD延迟加载等)。

My helpful screenshot

功能层

My helpful screenshot

先tickLogic再tickRender,先模拟物理过程再渲染

My helpful screenshot

多核多线程处理

核心层

数学运算,矩阵变换(其中物理系统中的数学推导很复杂)

SIMD:单指令多数据

My helpful screenshot

内存管理(最重要):内存池,增加缓存命中,内存对齐

方法:

  • 数据连续分配
  • 连续访问数据
  • 按块分配/销毁内存

My helpful screenshot

平台层

解决不同平台的兼容性

Graphics API:OpenGL,DirectX11,DirectX12,Vulkan

工具层

Level Editor,Logical Editor,Shader Editor,UIEditor,Animation Editor

My helpful screenshot