返回实战操作门户
Phase 05 / Resource Cleanup

结束:资源撤场

显存释放、会话销毁与物理卸载全百科

01 / 资源销毁时序
            sequenceDiagram
                participant GT as Game Thread
                participant PL as Plugin Layer
                participant K as Kernel (DLL)
                
                GT->>PL: 1. 发起 UnloadModel()
                PL->>K: 2. 命令物理释放
                K->>K: 3. 销毁 WebGPU 缓冲区
                K->>K: 4. 关闭 mmap 映射
                Note over K: 显存已完全归还 OS
                K-->>PL: 5. 释放后台线程
                PL-->>GT: 6. 广播 Unload 成功信号
            
02 / 两种清理路径 (Cleanup Paths)

路径 A:会话精准释放 (ReleaseSession)

适用于单个 NPC 销毁(如被击杀),回收特定显存槽位。

// 在 Actor 的 EndPlay 中调用
FLiteRtLmUnrealApi::ReleaseSession(this);

路径 B:全量卸载 (UnloadModel)

适用于关卡切换,释放 GB 级别的显存预算。

// 强制撤离所有 AI 资源
FLiteRtLmUnrealApi::UnloadModel();
03 / 本阶段关联概念 (Concepts)
CONTRACT显存归还契约

AI 占用的显存不属于虚幻的渲染池。如果不手动 Unload,GPU 将持续处于高压状态,导致后续游戏环节帧率大幅下降。

PHYSICSmmap 句柄关闭

卸载不仅是清空显存,还会物理关闭映射的文件句柄。这是保证程序能够正常退出(不挂死进程)的关键。