WordPress多站点开启多语言,网页制作程序书,关键词排名优化公司地址,网络营销推广系统排名推荐系统Unity Resources System
定义
Resources System允许开发者在项目中的Resources文件夹下存放一个或多个资源文件夹#xff0c;并且可以在Unity运行时通过Unity提供的API对资源和对象进行加载和卸载。
如果Resources中的文件结构复杂#xff0c;内容多#xff0c;会给应用常…Unity Resources System
定义
Resources System允许开发者在项目中的Resources文件夹下存放一个或多个资源文件夹并且可以在Unity运行时通过Unity提供的API对资源和对象进行加载和卸载。
如果Resources中的文件结构复杂内容多会给应用常来什么影响
1、内存增加、包体增加 2、管理复杂度增加 3、构建时间增加 4、影响游戏的启动时间
内存、包体增加能详细说一下吗
1、每个文件都有大小在Resources文件夹下的资 源都会被编译到包体中。 2、文件变大所儒内存也会赠加。
管理复杂度增加是什么
Resources资源结构复杂在资源管理上成本会增加内存管理成本也会增加。
构建时间增加是什么
打包时间增加在Resources文件夹下所有的资源和对象都会被合并到一个序列化文件中去该序列化文件的合并过程会随着Resoure中资源的增加而增加。
序列化文件 metadata indexing information 索引信息 该索引包括一个序列化的查找树该树通过给定的对象的名称然后解析出该对象对应文件的GUID文件的唯一标识和local ID,它也可以在根据给出的字节偏移量将对象定位在序列文件的正文中它还用于将对象定位在序列化文件正文中特定字节偏移处。
为什么会影响游戏的启动时间
在启动时对项目中所有需要立刻用到的对象进行Instance Id实例化如内置scene中引用)以及Resource文件夹下包括的所有对象都需要实例化。
启动对Resource文件的处理 在大多数乎台上查找数据结构是平衡的搜索树其构建时间以O(nlog((n))的速度增长这种增长还导致索引的加载时间随着“资源”文件夹中“对象”数量的增加而线性增长。
在应用启动进行闪屏显示的时候该操作是不可以跳过的。
推荐放在Resources下的资源
1.该内容整个游戏生命周期都存在
例如
MonoBehaviour的单例
序列化的配置数据不会变appId
加载界面的Prefab
2.资源所占内存小
例如
名字随机配置
默认头像图标
道具品质框
3.资源不会热更新
需要热更新的不要放在Resources目录下
4.不会因为平台或者设备变化的资源
例如Android平台和IOS平台显示内容不一样最后不要放在Resources目录下
以上4条可以相互结合使用
参考资料 Unity游戏性能优化Resources System 25-2