AssetBundle和Resource有什么优势和劣势

整理来自UWA问答 资源放到resource下面有什么优势和劣势?

游戏本身资源不是很多,也不考虑会更新资源,就把资源都放到resource下面,resource下面有很多资源的时候会影响游戏启动时间吗?

答:Resource文件下,如果资源过多,确实会影响游戏的启动时间;

在resource下面的资源会不会占用内存?还是说要load出来instance之后才会算进内存里面?

答:Resource文件夹下的资源本身不会在启动后加载到内存中,资源是Resources.Load后被加载进内存的。但是需要指出的是,引擎启动时会创建一个Resource索引表,Resource文件夹下文件越多,其索引表也就越大,这个是会占用内存的;

资源打包成Assetbundle加载也快,也方便更新,那resource还有什么优势?

  • Resources 和 AB是两套不同倾向的资源管理策略,各自有适用的应用环境。

  • Resources可以看成一个默认加载的巨大AB,优点在于使用方便,不需要应用层维护资源依赖关系,缺点在于对更新不友好,内存敏感的场景下不便于细粒度控制资源的内存占用生命周期,此外还会影响游戏初始化速度。

  • AB可以提供更细粒度的资源控制策略,而且对于资源更新友好,但是缺点是管理麻烦,应用层需要维护依赖关系以及管理生命周期,稍不注意就容易出现资源泄露等问题。

  • Resources和AB之间有一条天然的鸿沟,那就是AB无法依赖到Resources里的资源,反之亦然。那么就带来一个问题,如果Resources里一个资源a需要更新,除了更新这个资源a外,还需要更新依赖这个资源的资源bcde等,还要更新资源a依赖的资源xyz等,进而,bcdexyz所依赖的以及被依赖的资源都需要更新,牵一发而动全身,简直是更新的噩梦。

  • 对于资源更新频繁的网游,尽可能使用AB是首选,Resources下可以放一些无需更新且启动时就需要的资源,譬如登陆场景的loading图等,游戏启动的逻辑简洁不易出错。

  • 对于无资源更新的单机游戏,也需要尽可能控制Resources下的资源量,避免污染游戏启动时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值