显存释放、会话销毁与物理卸载全百科
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 成功信号
适用于单个 NPC 销毁(如被击杀),回收特定显存槽位。
// 在 Actor 的 EndPlay 中调用
FLiteRtLmUnrealApi::ReleaseSession(this);
适用于关卡切换,释放 GB 级别的显存预算。
// 强制撤离所有 AI 资源
FLiteRtLmUnrealApi::UnloadModel();
AI 占用的显存不属于虚幻的渲染池。如果不手动 Unload,GPU 将持续处于高压状态,导致后续游戏环节帧率大幅下降。
卸载不仅是清空显存,还会物理关闭映射的文件句柄。这是保证程序能够正常退出(不挂死进程)的关键。