接入指南 API 工具 其他

使用预下载功能优化资源加载

在 Unity WebGL 项目中,由于游戏初期需要加载并编译 WebAssembly 文件(.wasm),此阶段 CPU 资源占用较高,JS 引擎尚未正式进入游戏运行阶段。因此,可以利用这段加载等待期的网络空闲时间,提前下载游戏运行中将要使用的资源(如 AssetBundle、Addressable、配置文件等),提高资源加载效率,提升游戏流畅度。


一、原理说明

  • Unity WebGL 的启动过程包含:
    • 加载 code.wasmdata.unityweb
    • 编译 WebAssembly 模块
    • 初始化引擎并正式运行游戏
  • 在上述加载编译阶段,游戏尚未运行,网络资源加载带宽未完全占用,此时可以触发预下载请求,提前下载未来会使用的资源。
  • 一旦游戏正式运行,所需资源已下载至缓存,可直接本地读取,避免加载卡顿或资源请求阻塞。
  • 兼容 资源缓存策略,满足条件的资源下载后将自动缓存,提升下次启动的速度

二、使用方式

预下载支持两种配置方式:插件配置(推荐)和手动配置。

方式一:插件自动配置(推荐)

  • 插件支持自动配置最多 5 个并发资源 进行预下载。
  • 单个资源建议大小控制在 3~5MB,更利于快速完成下载。
  • 插件集成无感知,不需要修改游戏逻辑代码。

📸 示例界面:

生成的 env.conf 文件中会包含如下字段:

{
  "wasmUrl": "http://1x.x.48.109:8080/wasm.zip",
  "streamingAssetsUrl": "",
  "preloadUrl": "http://172.27.49.93:8080/1.txt;http://172.27.49.93:8080/2.txt;http://172.27.49.93:8080/3.txt;http://172.27.49.93:8080/4.txt;http://172.27.49.93:8080/5.txt;",
  "subUnityPkg": false
}
  • 所有预下载资源 URL 通过英文分号(;)拼接为字符串。

  • 系统会在 wasm 编译阶段自动开始异步预取这些资源。

方式二:手动配置

若需要配置超过 5 个资源或自定义预下载内容:

  1. 打开构建目录下的 webgl_qg/buildUnity/env.conf 文件。
  2. 手动修改 preloadUrl 字段,将资源地址按如下格式拼接:
json
"preloadUrl": "https://cdn.domain.com/a.bundle;https://cdn.domain.com/b.bundle;..."

✅ 建议总数不超过 10 个资源,以避免启动阶段同时发起过多请求导致卡顿。


三、注意事项

  • 建议资源尽量拆分小体积(3~5MB),加快并发下载效率。
  • 预下载资源不会立刻被使用,仅进入浏览器缓存,后续访问更快。
  • 如使用 CDN,请确保支持跨域(CORS)和范围请求(Range Header)。
  • 资源链接建议使用 HTTPS,并确保有效性与可访问性。

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容