关于预加载的疑惑, 为什么预加载只是下载, 而不是加载到内存, 请大佬们指点下

游戏从磁盘上的读取资源速度低于从内存中读取资源的速度,所以我的理解的预加载,是提前将资源从磁盘放到内存中,以便于获取时,加快速度
但现在发现,预加载,只是下载资源,而不会对资源做解析操作,也没有将资源放到内存中,所以我才有这个疑惑
请引擎组大大抽空帮忙解答下
感激不尽
@jare @BigBear

现在的机制降低了预加载的性能损耗,确保了游戏体验顺畅,确实是好处之一

周一啦,上班啦

不放到内存才是正确操作吧

放到内存后可以减少加载耗时,读取更快啊·····

解析操作 具体指啥呢

我也有这个疑问,现在的预加载只是预下载,预加载还得自己预先load

对,同样的疑惑·····
呼叫引擎组的大大出来解答下

我觉得这里不是讨论预加载到内存和预加载到本地的区别和分析

  • 预加载到内存会不会爆内存?
  • 预计加载到内存后,读取会不会快一点?

这些周边问题可以不讨论,感觉这里只是想要一个能直接预加载到内存的方法

所以我觉得正解是:

  • 你需要预加载到本地就用 preload
  • 你需要预加载到内存就用 load

如果是预制体的话,你可以添加到场景中再隐藏啊,不就达到你想要的效果了
直接放到内存的话有爆内存的风险

是的,load是加载到内存,那和预加载到内存,本质是一样的~

。。。。挺奇怪的啊,我觉得如果是下载 应该是从远程服务器下载资源到本地啊,然后再加载到内存,,应该是这么个流程吧, 如果资源都在本地,那不存在“下载”的概念呀,,,但是"预加载"这个过程我觉得应该是均摊加载资源,避免一次性加载过多资源导致cpu卡顿,,,,而且在静默加载过程也可以提高资源加载体验呢,,比如很快速的就加载好了,,,

2赞

拆开是个好事情 , 1.9的时候preload就创建实例加载就很头疼 , 当时是修改了cc.Pipeline.Loader的handle不去创建纹理实例。

是很奇怪,预加载 实际 上是下载,而 加载 才是加载到内存

引擎把选择权交给用户了吧,这样可以达到更细粒度的控制

那可开放 下载的 api
这么多年的习惯,预加载,我理解的就是提前加载到内存里·····

是这样的, 哈哈哈, 现在creator可是御用小游戏引擎, 资源基本都不在本地,所以拆了这么一步出来

哎,御用小游戏引擎,这称号真不错
不过,什么时候才可以在原生上能媲美unity