Checkpoint 8

1. 统一调度收口为单点 Complete
2. 移除 Job 内部 Complete(),改为返回 JobHandle
3. 修复调度后 NativeList 安全冲突(关键)
  - 将 PrepareEnemyJobOutputBuffer/PrepareProjectileJobOutputBuffer/PrepareEnemySeparationJobBuffers 前置到 BuildInput
  - 互斥候选统计改为读取 _enemyJobInputs,不再在 Complete 前读取 _enemyJobOutputs
4. 新增 CP8 profiler markers
5. 新增回归用例(验证使用最新敌人移动结果构建碰撞候选)
This commit is contained in:
SepComet
2026-02-23 10:53:15 +08:00
parent e6d722ee1d
commit 1a45b513f2
6 changed files with 166 additions and 113 deletions
+2 -2
View File
@@ -156,13 +156,13 @@
- 建立命中事件缓冲区,统一在主线程提交表现层事件。
- 完成标准:命中结果与现有逻辑一致,候选数量与耗时显著下降。
- [ ] Checkpoint 7:Burst 策略落地与热路径约束
- [x] Checkpoint 7:Burst 策略落地与热路径约束
- 热路径 Job 全部添加 `[BurstCompile]`,并在 Burst Inspector 确认已生效。
- 清理 Job 内不兼容写法:托管分配、虚调用、LINQ、异常路径热调用。
- 数学计算统一迁移到 `Unity.Mathematics`。
- 完成标准:核心 Job 均由 Burst 编译,且无安全检查错误/降级回 Mono 的关键路径。
- [ ] Checkpoint 8:主线程职责收口与调度稳定
- [x] Checkpoint 8:主线程职责收口与调度稳定
- 明确主线程只做:输入采样、状态切换、UI 同步、实体显隐、最终写回。
- 统一 `Schedule -> Dependency Combine -> Complete` 位置,防止隐式同步抖动。
- 清理战斗帧中不必要的主线程循环(尤其逐实体逻辑)。