| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 异步加载的方式比较 -> 正文阅读 |
|
[游戏开发]异步加载的方式比较 |
异步加载的方式目前知道的有三种:
协程同个功能的多次缓慢加载但只取其中一个之前协程加载AssetBundle或者网络下载的时候,惯例写法是传入回调。 树形依赖资源的加载有依赖关系的资源会分开打包,例如1和2都依赖3,然后不依赖打包的话,可能全部打包到一起。 协程这种方法还有个问题是如果资源是多层嵌套依赖的方式,就有比较难处理。 这里ABCDEFG都是assetbundle资源 协程的直接使用适合没有嵌套结构,并且不会同一个功能需要短时间多次加载资源,并且只取其中一个资源的情况。 Awaitawait的方式,让开发人员用处理同步代码的方式进行好了异步的处理。 async和await需要同时在一个方法出现,如下所示
声明了async 的函数要么返回值是void要么是Task或者Task泛型类型。
只有声明了async的函数才能使用await。 调用await操作的异步函数最外层的方法也是用async声明的, 使用Await的方式等待协程,需要对unity本身的协程函数的返回值进行一次封装。 或者从这里下载 同个功能的多次缓慢加载但只取其中一个因为最后await最外层还是要传入一个回调,根据回调来使用加载好的东西。 树形依赖资源的加载await可以说是专门针对这种依赖加载的情况而生,顺序的代码结构使依赖加载可以轻松完成。 针对上述的情况,这里只需要 使用方法参考: 多线程Unity的所有API包括,异步加载API,包括Addressable和Assetbundle类的,都不能在多线程中使用,一些其他线程,例如Unity提供的多线程编程例如,Job线程,使用不清楚。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:24:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |