EN 中文
返回总览

LiteRtLm_CreateEngine

引擎构造函数。加载权重、分配显存并初始化计算管线。这是整个系统最耗时的操作。

01. 构造期物理行为

graph TD Config[LiteRtLm_Config] --> Call[CreateEngine] subgraph Runtime_Init [引擎初始化内部逻辑] Load[模型文件加载: RAM] --> Alloc[显存分配: VRAM] Alloc --> Shader[着色器编译/预优化] Shader --> Pipeline[构建推理计算图] end Call --> Runtime_Init Runtime_Init -->|Success| Ptr["返回 void* Engine Handle"] Runtime_Init -->|Fail| Null[NULL]
耗时警告: 初始化可能长达 2~10 秒(取决于模型大小和硬件性能)。在虚幻引擎中,严禁在 GameThread (主线程) 调用此函数,否则会导致画面彻底冻结。

02. 参数与返回值

void* LiteRtLm_CreateEngine(LiteRtLm_Config config);
参数/返回值详细描述
config 初始化配置结构体。详见 LiteRtLm_Config
返回值 (void*) 引擎实例句柄。
这是一个不透明指针(Opaque Pointer),用于后续所有 API 调用。如果失败返回 NULL,请检查控制台错误日志。

03. 异步创建代码范式

// 在后台线程执行初始化
AsyncTask(ENamedThreads::AnyBackgroundHiPriTask, [this]() {
    LiteRtLm_Config MyConfig = GetDefaultConfig();
    void* NewEngine = LiteRtLm_CreateEngine(MyConfig);
    
    if (NewEngine) {
        this->EngineHandle = NewEngine;
    }
});