Unity构建详解(9)——Addressable的打包结果

这里说的Task不算是真正SBP管线里的了,而是Addressable中自定义的,包括之前的GenerateLocationListsTask和Post Processing AssetBundles都是在Addressable中的。一般使用SBP时都会用上Addressable。

【BuildLayoutGenerationTask】

这个Task是为了生成详细的打包结果,可以看到Bundle的总数、总大小,每个Bundle的大小、包含的Asset及其大小等信息,被保存在buildlayout.txt文件中。

具体是什么样的,打包一次,打开看看这个文件就知道了,不必多说。

这种写文件的Task都可以修改成多线程的

【GenerateCatalog】

Catalog是与Addressable相适配的,Addressable在初始化时就会加载Catelog文件,该文件记录了Bundle之间的依赖关系及其包含的Asset,可以认为是一个简化版的buildlayout,其只包含了运行时所需要知道的必要信息。可以根据项目需要添加新的信息。

Catalog有json文本格式和二进制格式两个版本,这里应该有一个常识,在真机上运行时的要读取的文件都要是二进制格式的,不要搞文本格式。

生成Catalog时有个是否把Catalog打入Bundle的选项,其会又走一遍打包流程,一般来说没有必要。

Catalog有优化,但Unity本身做的优化并不够,还需要单独做优化的,这本质上就是如何优化字符串内存。

如果仅仅是SBP,会生成一份Manifest文件,和BuildInt的流程相似,但该文件没有Catalog的信息多。

【GenerateLinkXml】

link.xml是代码裁剪时需要读取的文件,该文件以XML格式记录了需要保留的程序集、类型和成员。详细的在构建时再说。

  •  Link生成:
    • UnityEditor.Build.Pipeline.Utilities.LinkXmlGenerator.CreateDefault()
  • SBP中包含的Type
    • WriteResult中包含的Type
      •  linker.AddTypes(resultValue.includedTypes);
      •  linker.AddSerializedClass(writeResult.Value.includedSerializeReferenceFQN);

  • Addressable中新增的Type

    • 程序集添加:
      •  linker.AddAssemblies(new[] { typeof(Addressables).Assembly, typeof(UnityEngine.ResourceManagement.ResourceManager).Assembly });
    • Type添加
      • m_Linker.AddTypes(runtimeData.CertificateHandlerType);
      • 各种Provider的Type,包括ResourceProvider、InstanceProvider、SceneProvider、InitializationDataProvider、自定义的Provider

至此,SBP的打包介绍完毕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620980.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浮点数在内存中的存储

索引 1. 浮点数在内存中的存储2. 浮点数存的过程3. 浮点数取的过程4. 题目解析 正文开始 1. 浮点数在内存中的存储 常见的浮点数: 3.14159 , 1E10等, 浮点数家族包括 : float , double , long double类型. 浮点数的表示范围在 float.h中定义. (1E10为科学计数法表示1.0 * 2的…

openGauss学习笔记-263 openGauss性能调优-TPCC性能调优测试指导-前置软件安装

文章目录 openGauss学习笔记-263 openGauss性能调优-TPCC性能调优测试指导-前置软件安装263.1 安装jdk263.2 安装numactl263.3 安装ant263.4 安装htop工具 openGauss学习笔记-263 openGauss性能调优-TPCC性能调优测试指导-前置软件安装 本章节主要介绍openGauss数据库内核基于…

冯喜运:4.15汇市观潮:现货黄金美原油技术分析

【 黄金消息面分析】:周一(4月15日)亚市盘初,金价开盘跳涨13美元,报2357.71美元/盎司,随后延续涨势,最高触及2372.45美元/盎司,目前金价回落至2354.19美元/盎司,如果中东局势未进一步恶化&#…

第四百六十一回

文章目录 1. 概念介绍2. 使用方法2.1 静态切换2.2 动态切换 3. 示例代码4. 内容总结 我们在上一章回中介绍了"readMore简介"相关的内容,本章回中将介绍如何在程序中切换语言.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们这本章回中…

【快捷部署】017_MongoDB(6.0.14)

📣【快捷部署系列】017期信息 编号选型版本操作系统部署形式部署模式复检时间017MongoDB6.0.14Ubuntu 20.04apt单机2024-04-11 一、快捷部署 #!/bin/bash ################################################################################# # 作者:…

imx6ul uboot移植

1.添加开发板 1.解压uboot 2.复制config并修改 3.复制头文件修改 4.复制板级文件夹 5.修改里面的文件(左上角是文件名) 修改Kconfig(添加) 新建脚本 mx6ull_alientek_emmc.sh 2.进入uboot目录下 修改Makefile 编译 make mx6ull…

#新版Onenet云平台使用(ESP8266 AT指令上报数据以及公网MQTT服务器连接测试)

1.上云方式:MQTT 参考: 新版ONENET物联网开放平台ATMQTT指令连接_at指令连接onenet的mqtt-CSDN博客https://blog.csdn.net/lilbye/article/details/131770196 ESP8266-01s入门:AT指令讲解、上云与MQTT通信教程-物联沃-IOTWORD物联网https:…

transformer上手(7)—— 快速分词器

1 快速分词器 Hugging Face 共提供了两种分分词器: 慢速分词器:Transformers 库自带,使用 Python 编写;快速分词器:Tokenizers 库提供,使用 Rust 编写。 特别地,快速分词器除了能进行编码和解…

代码随想录算法训练营第二十七天|39.组合总和、40.组合总和II、131.分割回文串

39.组合总和 思路: 本题和77.组合 ,216.组合总和III的区别是:本题没有数量要求,可以无限重复,但是有总和的限制,所以间接的也是有个数的限制。 本题搜索的过程抽象成树形结构如下: 注意图中叶…

学习笔记——C语言基本概念栈和队列——(14)

本次笔记是C语言的最后学习内容。 1、栈 特点:先进后出 堆栈又名栈( stack) , 它是一种运算受限的线性表。 限定仅在表尾进行插入和删除操作的线性表。 这一端被称为栈顶, 相对地, 把另一端称为栈底。 向…

[大模型]Baichuan2-7B-chat langchain 接入

Baichuan2-7B-chat langchain 接入 这篇主要讲 Baichuan2-7B-chat 如何对接Langchain中 langchain.llms.base 的 LLM 模块,并且提供一个快捷搭建向量数据库、Agent等多功能的Langchain应用的部署方案;关于如何具体对接向量数据库和gradio的部分请参考in…

排序之归并排序

代码 先上代码,根据代码将归并排序的整个过程。 class Solution {public int[] sortArray(int[] nums) {int[] tmp new int[nums.length];merge(nums, 0, nums.length - 1, tmp);return nums;}private void merge(int[] nums, int left, int right, int[] tmp){if…

kmeans聚类sklearn实现(Python实验)

Kmeans毫无疑问,好用又“便宜”的算法,经常在很多轻量化场景中实现。所谓的“聚类”(Clustering),就是通过欧氏距离找哪些点构成一个簇。假设我们空间中有一堆点,通过肉眼大概可以看出有两簇,思…

OpenHarmony实战开发-如何实现图片缩放效果。

介绍 图片预览在应用开发中是一种常见场景,在诸如QQ、微信、微博等应用中均被广泛使用。本模块基于Image组件实现了简单的图片预览功能。 使用说明: 双指捏合对图片进行缩放双击图片进行图片的大小切换,在放大状态下,双击可恢复…

TensorFlow 1.x的学习

.为什么还有很多人都选择使用TensorFlow 1.x 兼容性问题: TensorFlow 1.x在一些旧项目中已经得到了广泛应用,这些项目可能依赖于1.x版本的特定API或行为。升级到2.x可能需要大量的代码修改和测试工作,对于一些已经稳定运行的项目,维护者可能…

内网渗透-内网环境下的横向移动总结

内网环境下的横向移动总结 文章目录 内网环境下的横向移动总结前言横向移动威胁 威胁密码安全 威胁主机安全 威胁信息安全横向移动威胁的特点 利用psexec 利用psexec.exe工具msf中的psexec 利用windows服务 sc命令 1.与靶机建立ipc连接2.拷贝exe到主机系统上3.在靶机上创建一个…

聚观早报 | 哪吒L上市定档;iPhone 16最新高清渲染图

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月10日消息 哪吒L上市定档 iPhone 16最新渲染图 华为太空表与问界M9联动 蔚来万里长城加电风景线正式贯通 Red…

基于Springboot+Vue的Java项目-房产销售系统(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

ubuntu16.04安装Eclipse C/C++

1.安装 JDK 官网源码安装 首先打开JDK官网,JDK1.8的下载网址为:https://www.oracle.com/cn/java/technologies/downloads/#java8-windows,进入到网址如下图所示: 向下滑动到 JDK1.8的下载界面,如下图所示&#xff1a…

戏作打油诗《无知》

笔者经营多年的《麻辣崇州论坛》,半月前突被攻击我在“霸屏”,没处讲理,特戏作打油诗《无知》一首,为那个无理取闹、砸我“麻辣崇州论坛”的无知小儿画像如下。 请点击链接,一目了然:崇州论坛-麻辣社区 没…