Actor 与组件的组织
对象数量本身就是开销:每个 Actor / 组件有注册、Tick、replication(多人)、序列化的成本。这一节讲"组织层"的优化。
数量是第一指标
| 对象类型 | 建议量级(同屏) | 超量的后果 |
|---|---|---|
| 常规 Actor(带逻辑) | 百级 | Tick / 复制大幅上升 |
| 静态装饰 | 建图元化(ISM) | 见下文 |
| AI | 按预算(10~50) | 决策预算爆炸 |
| 可交互物 | 事件驱动,少量 Tick | 挂机后台任务 |
ISM / HISM:静态物的正确姿势
场景里 500 棵树 / 1000 块石头,如果逐个放 StaticMeshActor,每个都是独立 Actor(带 DrawCall、物理、Tick 注册)。改用 InstancedStaticMesh(ISM):
- 500 棵树 = 1 个组件 + 500 个实例 → 1 次 DrawCall(而不是 500 次);
- HISM(Hierarchical ISM) 进一步支持按距离分组的 LOD / 剔除;
- 规则的森林 / 草地 / 栅栏都是 ISM 的标准场景。
HLOD(分层细节级别)是大场景的另一层手段:把远处的一批物体合并成一个简化网格。引擎有完整的 HLOD 构建管线,见 Hierarchical LOD。
