当前位置: 首页 > news >正文

Unity Resource System 优化笔记

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

相关文章:

Unity Resource System 优化笔记

Unity Resources System 定义 Resources System允许开发者在项目中的Resources文件夹下存放一个或多个资源文件夹,并且可以在Unity运行时通过Unity提供的API对资源和对象进行加载和卸载。 如果Resources中的文件结构复杂,内容多,会给应用常…...

Flutter之SystemChrome全局设置

一、简介 SystemChrome作为一个全局属性,很像 Android 的 Application,功能很强大。 二、使用详解 2.1 setPreferredOrientations 设置屏幕方向 在我们日常应用中可能会需要设置横竖屏或锁定单方向屏幕等不同要求,通过 setPreferredOrien…...

Windows11 WSL2的ubuntu 22.04中拉取镜像报错

问题描述 在windows11 WSL2的ubuntu 22.04中拉取镜像报错。错误为: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting header…...

【Linux】多线程:线程同步、条件变量

目录 一、同步的概念 为什么需要同步呢? 二、条件变量 条件变量的相关概念 1、条件变量的初始化:静态初始化、动态初始化 2、条件变量的等待:pthread_cond_wait函数 工作原理及流程【重要!】 关键点总结 3、条件变量的激…...

【Android Studio】使用雷电模拟器调试

文章目录 进入开发者模式使雷电模拟器adb连接PC测试 进入开发者模式 多次点击版本号 -开区USB调试 使雷电模拟器adb连接PC 写cmd脚本 雷电模拟器端口为5555 ,脚本内容如下: adb.exe connect 127.0.0.1:5555双击bat脚本文件 测试...

你必须知道的C语言问题(9)

问&#xff1a;如下代码&#xff0c;两个结构体类型成员变量相同&#xff0c;只是成员顺序不同&#xff0c;为什么大小不同&#xff1f; #include <stdio.h> #include <stdint.h> #include <string.h> #include <stdlib.h>typedef struct _test1{uint…...

如何通过网络找到自己想要的LabVIEW知识?

学习LabVIEW或其他编程技术时&#xff0c;无法依赖某一篇文章解决所有问题。重要的是通过多种途径获取灵感&#xff0c;并学会归纳总结&#xff0c;从而逐渐形成系统性的理解。这种持续学习和总结的过程是技术提升的基础。通过网络找到所需的LabVIEW知识可以通过以下几个步骤进…...

SCRM电商管理后台Axure高保真原型 源文件

在电商行业蓬勃发展的今天&#xff0c;企业急需一个全面的客户关系管理&#xff08;CRM&#xff09;系统来优化他们的电商运营。我们的Scrm电商管理后台应运而生&#xff0c;它不仅是一个集中化的管理平台&#xff0c;更是企业提升客户互动和销售业绩的得力助手。 预览地址 ht…...

重载new,delete , RTTI,类成员指针

重载new&#xff0c;delete 执行过程 重载new&#xff0c;delete 和普通的运算符重载不同&#xff0c;并非重载new&#xff0c;delete 的行为&#xff0c;而是改变内存分配的方式&#xff0c;将对象放置在特定的内存空间中 new运算符操作&#xff1a; 调用STL标准模板库的…...

基于SSM+Vue+MySQL的在线医疗服务系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着医疗信息化的快速发展和患者对便捷医疗服务需求的日益增长&#xff0c;开发一个高效、可靠的在线医疗服务系统显得尤为重要。基于SSM&#xff08;SpringSpring MVCMyBatis&#xff09;框架、前端采用Vue.js、后端连接MySQL数…...

Windows 11上pip报‘TLS/SSL connection has been closed (EOF) (_ssl.c:1135)‘的解决方法

这个只是简单记录一下&#xff0c;可能是我用了代理的缘故&#xff0c;即便是把源换成国内的&#xff0c;例如阿里云&#xff0c;也会报错&#xff0c;例如&#xff1a; pip install matplotlib Looking in indexes: https://mirrors.aliyun.com/pypi/simple/, https://pypi.or…...

53 - I. 在排序数组中查找数字 I

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9853%20-%20I.%20%E5%9C%A8%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%95%B0%E5%AD%97%20I/README.md 面试题 53 - I. 在排序数组中查找数字 …...

基于 TDMQ for Apache Pulsar 的跨地域复制实践

导语 自2024年9月6日起&#xff0c;TDMQ Pulsar 版专业集群支持消息、元数据两级跨地域复制功能&#xff0c;消息级复制解决用户全球地域的数据统一归档问题&#xff0c;元数据级复制提供解决用户核心业务跨地域容灾的场景。 用户在跨地域场景遇到的疑问和挑战 在跨地域相关…...

无线通信感知/雷达系统算法专业技术栈

无论是在工业界还是在学业界&#xff0c;无线通信感知一体化都是一个热门的方向&#xff0c;作为一个24届毕业生&#xff0c;刚好处于行业当中&#xff0c;就总结一下自己浅薄认知下&#xff0c;自己觉得已经掌握或者应该掌握的技术栈和专业能力&#xff0c;与大家共勉。 Rada…...

离谱碾压!奇安信中标:高出第二名近70分!

2024年08月09日&#xff0c;广东省政务服务和数据管理局&#xff0c;近日发布了网络安全第三方服务&#xff08;2024年&#xff09;项目之关基检查及重要政务应用安全检查服务招标公告&#xff01; 预算金额&#xff1a;2,896,200.00元&#xff0c;其中安全检查服务包&#xf…...

HOT 100(七)栈、堆、贪心算法

一、栈 1、每日温度 使用单调递减栈来解决。主要思路是遍历temperatures数组&#xff0c;利用栈来存储还没有找到比当前温度高的天数的索引。当遇到比栈顶索引所对应温度更高的温度时&#xff0c;就可以确定当前这一天的温度比之前那一天高。索引的差值就是等待的天数。 求一…...

速盾:高防服务器租用需要注意什么事项

在当今互联网时代&#xff0c;网络安全问题日益严峻。各种网络攻击手段层出不穷&#xff0c;给企业和个人的网站带来了巨大的安全威胁。为了保障网站的安全稳定运行&#xff0c;高防服务器成为了许多人的选择。而在租用高防服务器时&#xff0c;需要注意以下几个事项。 一、选择…...

【数据库】MySQL内置函数

本篇分享一些在MySQL中常见的一些内置函数&#xff0c;如日期函数&#xff0c;字符串函数和数学函数&#xff0c;以方便于操作数据库中的数据。 1.日期函数 我们先整体观察一下这些函数再讲解案例 日期函数使用起来都非常就简单 获得年月日&#xff1a; select current_dat…...

Promise查漏及回调地狱结构优化

目录 前言一、执行器函数的执行顺序二、如何在then()中抛出错误三、期约的"非重入"特性四、串行化期约五、应对回调地狱结语 前言 依据《JavaScript高级程序设计》对Promise期约相关进行查缺补漏. 一、执行器函数的执行顺序 执行器函数虽作为期约的参数, 却是期约的…...

SpringCloud-05 Resilience4J 服务降级和熔断

服务雪崩&#xff1a;指在多个服务之间存在依赖关系时&#xff0c;当一个服务发生故障或不可用时&#xff0c;导致其他服务也无法正常工作的情况。这种现象通常是因为服务之间的依赖关系过于紧密&#xff0c;当一个服务发生故障时&#xff0c;其他服务无法正确处理该服务的请求…...

哈希表、算法

哈希表 hash&#xff1a; 在编程和数据结构中&#xff0c;"hash" 通常指的是哈希函数&#xff0c;它是一种算法&#xff0c;用于将数据&#xff08;通常是字符 串&#xff09;映射到一个固定大小的数字&#xff08;哈希值&#xff09;。哈希函数在哈希表中尤为重要…...

变更AWS EC2 实例配置或实例类型

在本文中&#xff0c;九河云将带您了解如何更改由 Amazon Elastic Block Store (EBS) 支持的 Amazon Elastic Compute Cloud (EC2) 实例的类型。更改实例类型可以优化成本和性能&#xff0c;使其更符合您的应用程序需求。 准备工作 在开始之前&#xff0c;请确保您已完成以下…...

【前端】ref引用的作用

首先&#xff0c;我们要明确一点&#xff0c;使用vue的好处是&#xff1a; 想要减少开发者直接操作dom元素。使用组件模版&#xff0c;实现代码的服用。 ref的属性的实现是为了取代原生js中使用id、class等标识来获取dom元素。 helloworld组件 <template><div clas…...

运用Java实现倒计时功能

这个功能其实是比较好实现的&#xff0c;一般来说java中实现倒计时有两种方法&#xff1a; 1、使用 scheduledexecutorservice创建一个可重复执行的任务&#xff0c;直到时间到&#xff1a; ScheduledExecutorService 是 Java 中一种用于安排延迟或定期任务的工具。我们可以使…...

Vue 第三方调用若依系统实现系统单点登录

应用场景 甲方现有平台系统拟集成我方新开发系统&#xff0c;实现单点登录功能&#xff0c;即用户登录主平台后&#xff0c;无需重复登录即可无缝访问新系统&#xff0c;提升用户体验与操作效率。 解决方案 实现代码 前端 Step:1 新建ssoLogin.vue页面 <template><d…...

IP纯净度对跨境电商有哪些影响

在全球化贸易的浪潮中&#xff0c;跨境电商凭借其打破地理界限的能力&#xff0c;成为推动国际贸易的重要力量。然而&#xff0c;跨境电商的运营并非没有挑战&#xff0c;其中IP纯净度是影响其成功的关键因素之一。本文将探讨IP纯净度对跨境电商运营的多方面影响&#xff0c;并…...

docker-01 创建一个自己的镜像并运行容器

docker-01 创建一个自己的镜像并运行容器 前言 我们都知道使用Docker的镜像可以快速创建和部署应用&#xff0c;大大的节约了部署的时间。并且Docker 的镜像提供了除内核外完整的运行时环境&#xff0c;确保代码的环境一致性&#xff0c;从而不会在出现这段代码在我机器上没问…...

国产视频转换HDMI1.4转单/双MIPI DSI/CSI LT6911C芯片方案,带音频输出,QFN64封装 Lontium

LT6911C:HDMI 1.4 TO MIPI DSI/CSI 芯片简介&#xff1a; LT6911C是一款高性能的HDMI1.4转换器MIPI DSI/CSI芯片用于VR/智能手机/显示应用。对于MIPI DSI/CSI输出&#xff0c;LT6911C功能可配置单端口或双端口MIPIDSI/CSI 1高速时钟通道和1~4个高速数据通道最大1.5Gb/s/lane&am…...

亚马逊、沃尔玛、敦煌网、Target塔吉特、Temu环境搭建测评技术!

海外跨境电商各大主要平台正不断力推半托管模式&#xff0c;不断对商家开出众多吸引和扶持政策。全托管是指电商平台全面负责店铺的运营&#xff0c;包括仓储、配送、售后等&#xff0c;而商家主要负责提供货品。半托管模式则基本由商家自主经营&#xff0c;平台只负责仓配物流…...

yjs05——matplotlib画其他图像

不管是折线图还是散点图&#xff0c;饼状图&#xff0c;柱状图等&#xff0c;其流程都是 1.创建幕布 ❤2.画图画坐标补充信息 3.保存图像 4.展示图像 不同就是在画图时候的代码不太相同 折线&#xff1a;plt.plot(x,y) 散点&#xff1a;plt.scatter() 柱状图&#xff1a;plt.hi…...