Checkpoint 2 & Checkpoint 3
Checkpoint 2:Simulation 与 Job 数据通道打通 - 新增 Job 数据通道(Persistent NativeList)与 Simulation <-> NativeContainer 拷贝/回写流程 - 在生命周期接入通道管理(初始化、清空、集中释放)并接入 UseJobSimulation 分支 - 增强通道健壮性:失效容器自动重建,避免 EditMode 下 ObjectDisposedException - 增加 UseJobSimulation 分支回归用例(EditMode/PlayMode 各 1 条) Checkpoint 3:敌人移动与朝向 Job 化 - UseJobSimulation 分支正式切到 Job 路径 - 新增敌人移动/朝向 Job 实现(IJobParallelFor): - Burst 版本 + 非 Burst 版本(受 UseBurstJobs 开关控制) - Job 计算移动、朝向、状态;主线程补做分离避让回补 - 扩展数据通道能力(为 Job 输出缓冲和投射物输出同步提供接口) - 补充分支回归测试(开启 UseJobSimulation 后验证追踪与朝向)
This commit is contained in:
+3
-3
@@ -123,13 +123,13 @@
|
||||
- 约束:默认可一键回退到 P1.5 路径,避免全量切换导致定位困难。
|
||||
- 完成标准:Editor/Development Build 均可编译运行;关闭开关时行为与 P1.5 一致。
|
||||
|
||||
- [ ] Checkpoint 2:Simulation 与 Job 数据通道打通(仅建通道,不改行为)
|
||||
- [x] Checkpoint 2:Simulation 与 Job 数据通道打通(仅建通道,不改行为)
|
||||
- 为敌人/投射物建立 Job 输入输出结构(纯数据,不含 `Transform`/托管引用)。
|
||||
- 建立 `SimulationWorld -> NativeContainer -> SimulationWorld` 的拷贝与回写流程。
|
||||
- 统一生命周期:`Allocator.Persistent` 分配、集中 `Dispose`,避免泄漏。
|
||||
- 完成标准:战斗循环可稳定运行,且该通道持续帧无新增 GC Alloc 热点。
|
||||
|
||||
- [ ] Checkpoint 3:敌人移动与朝向 Job 化(第一优先)
|
||||
- [x] Checkpoint 3:敌人移动与朝向 Job 化(第一优先)
|
||||
- 将敌人移动、朝向更新迁移至 `IJobParallelFor`。
|
||||
- 输入最少包含:`position/forward/speed/targetPosition/deltaTime/state`。
|
||||
- 输出最少包含:`nextPosition/nextForward/isMoving`。
|
||||
@@ -241,4 +241,4 @@
|
||||
|
||||
## 测试命令
|
||||
- PlayMode: `Unity -batchmode -nographics -projectPath . -runTests -testPlatform PlayMode -testResults Logs/playmode-test-results.xml -logFile Logs/playmode-tests.log`
|
||||
- EditMode: `Unity -batchmode -nographics -projectPath . -runTests -testPlatform EditMode -testResults Logs/editmode-test-results.xml -logFile Logs/editmode-tests.log`
|
||||
- EditMode: `Unity -batchmode -nographics -projectPath . -runTests -testPlatform EditMode -testResults Logs/editmode-test-results.xml -logFile Logs/editmode-tests.log`
|
||||
|
||||
Reference in New Issue
Block a user