Addressable(15)构建布局报告、常见问题总结(分组压缩策略)

偏文字相关和细节方面,不是很重要

构建布局报告

知识点一:构建布局报告有什么作用?

构建布局报告提供了有关可寻址资源的构建打包的详细信息和统计信息
包括

  1. AB包的描述
  2. 每个资源和AB包的大小
  3. 解析作为依赖项隐式包含在AB包中的不可寻址资源
  4. AB包的依赖关系

我们可以通过查看报告文件获取这些信息

知识点二:如何查看构建布局报告?

  • 第一步

    Edit > Preferences > Addressables

    启用Debug Build Layout

    请添加图片描述

  • 第二步

    构建打包可寻址资源后,就可以在Library/com.unity.addressables/文件夹中找到buildlayout.txt文件

    image-20240109124842463

知识点三:构建布局报告的内容

  • 内容中主要包含:

    1. 摘要信息(包括AB包数量、大小等等)
    2. 每组相关信息(哪些资源,几个包,包大小等等)
    3. 依赖相关信息
  • 内容展示

    请添加图片描述

常见问题总结

知识点一:用多包策略还是大包策略?

  • AB包太多(包体太)的问题

    1. 每个包都会有内存开销,如果加载过多的包可能会带来更多的内存消耗
    2. 并发下载的问题,如果包小而多,以为着下载包时可能需要更多的时间
    3. 目录文件会因为过多的包而变大,因为它要记录更多的包信息
    4. 复用资源的可能性更大,比如多个包使用同样一个资源,但是该资源不是寻址资源,那么在每个包中都会有该资源
  • AB包太少(包体太)的问题

    1. 过大的包如果下载失败,下次会重新下载,因为使用UnityWebRequest下载包时不会恢复失败的下载
      比如100MB的包,下了50MB,玩家中断下载了,下次又得重新下
    2. 能单独加载,但是不能单独卸载,更大的包意味着包中有更多资源,比如加载了1个大包中100个资源
      但是现在用完了99个,还剩一个再用,即使99都卸载了,但是由于引用计数这个大包也不会卸载
      就会造成内存的浪费

所以没有最好的策略,只有根据自己的项目需求合理安排分组打包,要根据资源的使用情况来合理设置资源分组,在分组时权衡好各方面的问题

知识点二:哪种压缩方式更好?

  • 三种压缩方式

    不压缩LZ4LZMA

  • 简介

    一般情况LZ4用于本地资源,LZMA用于远端资源

    主要原因是LZMA的压缩内容更小,更节约下载时间和流量

    注意:压缩不会影响加载内存的大小,只会影响包体大小,下载时间等

  • 三种介绍

    1. 不压缩:包体并不大的单机游戏,使用不压缩最好,没有包体大小的压力,加载也是最快的,因为不用解压
    2. LZ4:它是基于的压缩,所以提供了加载文件的能力,加载资源时不用全加载AB包,只加载使用的内容,相对LZMA来说更节约内存
    3. LZMA:不建议用它在本地内容中,因为它虽然包最小,但是加载最慢,用它只是为了节约下载时间和极限压缩包体大小

综合来说,也没有最优的方式,还是要根据实际情况来选择,个人认为**LZ4**压缩方式,是相对比较优秀的一种方式

知识点三:减小目录文件大小

  • 目的

    当我们想要极限压缩包体大小时,可能希望优化目录文件的大小

  • 方法

    1. 压缩本地目录

      AddressableAssetSettings > Catalog > Compress Local Catalog

      image-20240109130122355

    2. 禁用内置场景和资源

      默认Addressables提供了从Resources等内置资源文件夹中加载资源以及加载内置场景

      如果你不通过Addressables加载他们,可以禁用,这样目录文件就不会包含其中信息

      但是我们就只能使用老方法加载非寻址资源

      个人建议取消,因为一般我们不会通过Addressables去加载非寻址资源

      请添加图片描述

      取消勾选才代表取消

知识点四:注意事项

  1. 关于AB包最大的限制,老版本不支持大于4G的包,虽然新版本中已经没有这个限制

    但是为了兼容性,还是建议大小控制在4G以下

  2. 活用可寻址资源上的Groups View中的两个功能

    image-20240109130306278

    • Show Sprite and Subobject Addresses:当窗口中内容特别多时,禁用它可以提升窗口加载的性能

    • Group Hierarchy with Dashes:启用带破折号的层级结构,可以让我们在内容特别多时以层级结构查看分组信息

      image-20240109130343592

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘建杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值