使用说明
一般示例可以使用默认值。只有在多画布、离线资源、精确组件解析或宿主服务治理场景下,才应逐项覆盖这些选项。
两种共享策略
| 选项 | 共享层级 | 保持隔离的内容 | 主要收益 |
|---|---|---|---|
shareApp: true |
同一 Runtime 内共享 App、ECS world、SceneRuntime、渲染循环和资源池 | 每个 Instance 的节点映射、props、bindings 与生命周期 | 多实例避免重复初始化整套 App |
多个 Runtime 使用同一 resourcePool |
只共享 GPU device、图片/视频 registry 和资源解析缓存 | 各 Runtime 的 App、world、selector、事件与实例注册表 | 多画布保留场景隔离,同时减少 GPU 与媒体资源重复 |
未自定义 createApp 时,shareApp 默认为 true。destroySharedAppOnIdle 默认为 false,所以最后一个 Instance 销毁后 App/world 仍保活,便于稳定、快速地重新挂载;它不会阻止 Instance 自身的 scene、selector、binding 和 surface 引用被清理。
当 Runtime 接收外部 resourcePool 时,Runtime 不拥有它的最终销毁权。宿主应在所有使用者结束后统一调用 resourcePool.destroy()。