文档章节

unity中从Resources下读取较大的资源会卡,有解决办法么? (知乎)

b
 byesameVR
发布于 2017/09/08 08:38
字数 427
阅读 35
收藏 0

有没有类似AssetBundle的LoadAsync类似方法。也不能在其他Thread里执行unity语句,会把其他的所有脚本都卡住了。

换成异步加载效果也很有限,因为后台loading结束之后有些操作还是必须在主线程上完成,这部分操作Profiler上面会显示为Integrate Assets in Background,对象比较复杂或者在低端机型上还是会卡很长时间。如果是场景比较复杂考虑利用Unity的多场景编辑拆分成多个场景流式加载。如果是比较复杂的Prefab最好拆分一下,然后用脚本延时组装起来。模型和图片比较大的话在低端机型上也可能比较卡,可以考虑根据机型选择不同精度的素材。同时也要考虑脚本的因素,如果加载的场景或者Prefab上有比较耗时的脚本,最好优化一下,Awake,OnEnable和Start都是在主线程上执行的。另外官方也不推荐再用Resources保存资源了,Resources下面的资源要在程序启动时建立索引,复杂度是线性的,scalability不是很好,素材多了会卡,而且也不方便patch,也就比较适合放一些配置文件。正经搞最好都换成AssetBundle,如果要随app一起分发,可以把AssetBundle放到Streaming Assets里面用。如果要随app一起分发还要能更新的话,可以游戏启动的时候花点时间把AssetBundle从Streaming Assets里面导到Cache里面,性能会好很多。

 

本文转载自:

共有 人打赏支持
b
粉丝 0
博文 4
码字总数 0
作品 0
青岛
私信 提问
关于Unity3D Assets资源目录结构管理

u3d默认目录 ) (插件)不是C#语言写一些插件和库,比如javajsC++,u3d默认目录,u3d是C#编译器,其他语言只有这个目录才能识别 资源,需要动态加载的资源放在这里,打包时在这个文件夹里的所有文件...

lizhenxiqnmlgb
05/23
0
0
unity3d中StreamingAssets和Resources目录的区别

刚学unity3的人,肯定会对这两个目录非常困惑,知道他们都是只读的、Resources会加密,StreamingAssets不加密,但是在使用上到底有怎样的不同,却不太说得清楚。 我在用了unity3d有一段时间后...

球球闪电
06/29
0
0
Unity中资源动态加载的几种方式比较

初学Unity的过程中,会发现打包发布程序后,unity会自动将场景需要引用到的资源打包到安装包里,没有到的不会跟进去。我们在编辑器里看到的Asset中的文件结构只是工作于编辑器环境下的,在游...

千山万水
2015/11/13
0
0
Unity插件推荐Editor Console Pro

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wwlcsdn000/article/details/80542607 Unity插件推荐Editor Console Pro 原文地址:http://forum.china.unit...

那远远的云端
06/01
0
0
Unity2018新功能抢鲜 | C# Job System Ⅰ

本文首发于“洪流学堂”微信公众号。 洪流学堂,让你学Unity快人几步 Unity2018.1中的新功能Job System,可以让你在Unity中编写简单且线程安全的多线程代码以大幅提高游戏性能。先来看看吧!...

zhenghongzhi6
04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

FTP 协议 1.0

自己制作的FTP协议:

Explorer0
20分钟前
1
0
Android 通过DrawableInflater加载自定义Drawable

一、Drawable 在Android系统张,图形图像的绘制需要在画布上进行操作和处理,但是绘制需要了解很多细节以及可能要进行一些复杂的处理,因此系统提供了一个被称之为Drawable的类来进行绘制处理...

IamOkay
31分钟前
1
0
灵活无处安放,所以选择流浪....《漆黑的空间》& 《灰色轨迹》

灵活无处安放,所以选择流浪....《漆黑的空间》& 《灰色轨迹》

yizhichao
37分钟前
1
0
Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
今天
7
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部