creator有同步加载吗?

逻辑嵌套很复杂的时候,await和async的方式写得很麻烦。小资源的同步加载不会太影响运行效率,但是对开发效率提升很大。

  • 需要同步加载
  • 完全不需要同步加载

0 投票者

不用await 就会回调地狱 没有其他选择

所以搞个同步加载挺好的。影响不大,逻辑又复杂的地方直接用同步加载,把选择权放到开发者手里面。现在是直接把路堵死。

如果有同步接口,你会看到99%的人都会用它

那说明同步非常有用

至少说明需求还是不少的,如果是滥用的,自己的项目自己负责嘛。堵不如疏!

同步加载是啥使用场景啊?
加载的时候卡死整个界面好吗?
你怎么知道要多长时间加载啊

比如说循环列表动态加载prefab,prefab上需要动态加载一个sprite和子prefab,子prefab又需要动态加载sprite。最后一个sprite就会刷新不及时,闪一下旧的图。
加载时间多长的问题,如果加载全屏背景图,肯定不用同步。如果只是加载一个小标志图,不会加载多长时间吧。

既然你都能明显的感觉到闪一下,但凡有同步的api,你那个列表都得一滑一卡的,你这解决思路本身就是错误的。await足够了。

1赞

preload不就好了。。。。。

同楼上两楼

  1. 如果只是闪一下,你都接受不了,你认为的同步加载更不可接受。而且闪一下应该能接受,参考各类同功能设计的。
  2. 如果你真受不了,而你游戏内存不大,可以进行preload,甚至在进游戏时,强行下载下来,这样你就可以使用同步加载(这里的加载是从内存拿,和你理解的同步加载可能有一点不一样),官方提供了getAsset的API,当然如果使用的是预加载,那么要做判断

居然有人问 同步加载有什么用?
注意啊 这个是引擎 是工具,你提供这个功能就是了,怎么用 是用户自己的事情,用户爱怎么用就怎么用,你没见过的场合多了去了 不要一上来就说没用,
你要求实时性 不能卡?所以就不能有这个功能?这个功能就没用?井底之蛙啦

:watermelon:

现在的异步可以用promise模拟同步写法就好了,你需要就这样写

加载小图也会闪一下的,Unity上的处理就是这个小图用同步加载,一直没什么问题,修改起来也简单。
物品图标的话,不可能全部preload,并且模块化处理,也不好在另外一个模块preload。

同步加载,等待期间游戏还跑不跑咧, 就算是30ms,也就是两帧
游戏不跑等加载,那就是卡顿,
游戏继续跑, 那就是异步,
没听说过什么同步加载, 只听过preload,
让引擎做同步加载, 引擎只能把你所有的资源全部加载一遍, 本质上还是预加载

:joy:没听过同步加载?要不了解一下cocos2dx。会影响效率,但是有些小的地方用不会影响很大,但是逻辑上相对简单很多。

没听过,
只知道代码写法上可以处理成像是同步的

unity和2dx,都有,但是他们主要面对的是原生,你用同步时,大概率资源是在本地的。
另外,我觉得unity如果打包成微信、webgl,资源放远端,如果不提前下载,直接在用的地方用同步,卡顿应该会比较明显。
同样的,对于creator,preload的一个作用也是保证资源能加载到本地啊。

关于引擎为什么不提供的话,个人感觉,可能是路径依赖问题吧。
引擎设计上,可能creator一开始是从h5这边考虑的吧。

大佬说的都懂,只是想creator像Unity那样,提供同步接口,只支持原生不支持H5。Unity原来也没用同步接口,也是后面加上的。把选择权交给开发者,而不是一直忽略有这方面需求的开发者,把路堵死,你就是不能用同步。