自2022年9月6日起,本文档站不再更新内容,相关文档已迁移至全新“抖音开放平台”前往

同步加载

同步方案基本使用方法

同步加载改造、ResList 列表文件、及其预加载功能的基本使用方法

先完成:AA 资源配置:将工程的资源、尤其是 Resources 目录资源,改造配置为 AA 资源。

先完成:代码替换:游戏内原先 Resources.Load 的加载调用,替换为ResLoader.LoadResource<TObject>(key) 等接口的同步加载。

预加载配置

  • 采集加载记录 在 Editor 下运行游戏,并完成前期游戏内容(比如前 3 关)

(注:由于同步加载,这个过程中 LoadResource 通常会卡顿,可以暂时忽略,后续配合预加载解决)(可选:Editor 下使用 PlayMode 1 ,可以避免卡顿)

系统会自动采集这个过程中通过 AA 加载的记录。

  • 可以打开工具:运行时加载分析工具 ,提供可视化界面
  • 创建列表文件 ResList
  • 【可选】:可以继续游戏一定内容(比如 10 关)后,再创建第 2 个列表文件:ResList2
  • 停止 Editor 的 PLAY 运行
  • 配置列表文件:将 ResList1 列表文件,配置为 AA,通常放入第一个 group。

预加载逻辑:修改游戏启动加载逻辑,在资源加载界面、进度条过程中,进行预加载:

  • ResLoader.PrepareResListAsync(string reslistKey)
  • 启动过程的预加载完成后,再进入正常逻辑,可以解决加载卡顿。

后台下载逻辑:进入后续游戏逻辑后,可以利用空闲,后台下载其他资源,以解决中后期其他资源,可能同步加载的卡顿。

同步加载接口介绍

ResLoader.LoadResource<TObject>(object key)同步读取 Addressable Asset (单个加载)

ResLoader.LoadResources<TObject>(object key)同步读取复数个 Addressable Assets (批量加载,使用 label)

ResLoader.LoadResources<TObject>(IList<object> keys)同步读取复数个 Addressable Assets(使用 key 列表)

ResLoader.GetDownloadSizeSync(object key)同步接口:确认所需下载的大小,包括其依赖。 注:已全部下载有缓存文件时大小是 0.

ResLoader.SetSyncLoadErrorAction(Action action)注册同步加载功能读取 Error 时的 Action. (通常可以进行报错弹框等逻辑。)

同步功能的预加载接口(解决同步加载卡顿)

ResLoader.PrepareResListAsync(string reslistKey)

  • 加载指定的 ResList 列表文件中的所有内容。
  • 为异步加载,返回 Handle 结构体,可通过 Handle 等待其完成。
  • 需要使用 Editor 工具创建好 ResList 列表文件的 asset
  • 参数:reslistKey 应使用 ResList 列表文件 asset 设置为 AA 后的 address。

创建 ResList 列表文件

1.可以调用 Editor 下的接口来创建:ResLoader.CreateEditorResList()

  • 先在 Editor 编辑器环境运行 Play 一段时间,它会自动记录运行后所有已读取过的 key。
  • 然后调用此接口,生成列表文件 ResList。
  • 生成 asset 文件路径:Assets/Res/ResList[Index].asset, 其中 Index 从 1 开始
  • 将 ResList 列表文件 asset 设置为 AA ,记下它的 address
  • 最后使用PrepareResListAsync接口,传入这个 address,预加载对应资源。 2.也可以用编辑器工具的界面按钮来调用此接口:

Addressable 配置窗口的"Tools"按钮中:StarkMini > AA Sync: Create ResList

编辑器菜单:ByteGame > StarkMini > Addressable Tools > AA Sync: Create ResList 可以打开工具:运行时加载分析工具 ,提供可视化界面

构建 AA 资源

如上图所示

!注意!: 如果 profile 中任何配置的字段值,尤其包括 LoadPath、 URL、CDN 目录、 IP、 端口 port number 等有修改, 必需重新 build 构建 AA 资源、重新 build 版本,使版本中的 AA 信息使用正确的 URL

点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助