Atlas(图集)
在游戏开发中,图集是一种常见的性能优化,本篇将从原理,设置图集,及图集Bundle策略三方面介绍
Atlas原理
性能优化的重点是降低DrawCall,关于DrawCall相关的介绍不多赘述,图集的原理就是将所有设置为该图集的图片打入一个大的图片(图集指的就是这个大的组合图片,移动端尺寸1024*1024),在加载图片的过程中,只需要加载一次图集,在加载相对应图片时只需知道该图在该图集内位置即可,实现性能优化,但是缺点也很明显,图片不可能完美拼合成为1024的图集,所以会增大内存占有量和包体大小,其次就是大尺寸的背景图片不需要打包图集,否则也是一种内存的浪费
UGUI设置Atlas
UGUI为开发者提供的图集方式非常简单
1.在Inspector视图下设置Packing Tag填写图集名称
设置Packing Tag2.Window -> Sprite Packer -> pack 即可
你可能会出现下面情况,照着箭头指示去做
设置编辑器Sprite模式设置好后点击Pack查看图集预览
查看图集预览图集目录在Library\AtlasCache\下
Atlas打包Bundle策略
因为图集会将所有该图集图片生成一张大的图片,事实上不可能存在真正完全填充,所以atlas图集的资源尽量设置均匀,并且最终要的一点,在打包图片资源时,图集是跟随这打进Bundle内的,这就意味着同图集的图片分多个Bundle包时会在包内存在多个图集造成Bundle包的大量增大,此处借鉴 https://www.jianshu.com/p/0d18ac565563 的帖子,并且个人进行测试结果正确,所以打包图片Bundle时,一定要把同图集的图片打进一个Bundle内!!!
图集方面分享到此,有错误请指正~~~
网友评论