unity 优化笔记


unity 打包资源包含哪一些:

1. resources文件下被程序应用的资源。优化方案:

①对删除被引用文件内没有被用到的资源。

② 尽量把需要用到同时在一起出现的纹理放在一个图集中。

2. streamingAssets文件夹下面的所有资源。优化方案:

① 删除不必要的资源,比如不要把安卓下的资源打包到iphone中。

② 在大bundle的时候,可以考虑bundle的压缩。

把资源打成bundle对资源的影响

优点:会降低包的的大小。

缺点:需要花一点时间进行减压资源。

纹理格式对性能和包大小影响

对没有特殊要求的图片:

安卓

通常使用RGBA16 ,1024*1024 资源大小和占内存都是 2M

推荐使用 ETC + A , 1024 * 1024资源大小和内存大小 1M(只有在openGL 2.0以上可以使用,因为在GPU不支持ETC时,会把压缩的图减压成原图大小及RGBA32)。

ios

通常使用pvrtc,1024 * 1024资源大小和占内存都是1M。

注意:在移动平台上一个好的压缩格式,可以减小包和咱内存的大小。假如要支持多个平台,建议对不同平台进行相应的压缩。

压缩格式缺点:由于图片被压缩了,所以在一定程度会出现一点折损。有的时候会出现黑边情况。当有图有这种情况时,建议使用原图,不要压缩。

drawcall优化

优化drawcall关键在于----效果,粒子,材质,pass等等。

动画的优化

可以考虑最后的死亡动画和其他动画分离开来。

灵活性更高,可以使用不同的材质用于死亡

减少对其他脚本的维护

针对低端机优化

设备不同的代支持不同功能,性能差别很大。应查询设备的代,并确定应禁用哪些功能以补偿较慢的设备

shader 优化

在手游,由于对性能要求比较高,所以不建议使用SurfaceShader。因为SurfaceShader是一个比较“通用”的功能,而通用往往导致性能不高

特征是在SubShader里出现CGPROGRAM和ENDCG块。(而不是出现在Pass里。因为SurfaceShader自己会编译成多个Pass。)

动画的优化

使用身体遮蔽的好处是它们有助于减少内存开销,因为不活动的身体部位无需关联动画曲线。此外,不使用的曲线无需在播放过程中进行计算,这有助于减少动画的 CPU 开销。

优化内置 iOS 播放器的大小

减少播放器大小的两种主要方式是更改 Xcode 中的活动生成配置 (Active Build Configuration) 以及更改 Unity 的剥离级别 (Stripping Level)

如何让发布版本尽可能的小的简单清单。

最小化资源:启用 PVRTC 纹理压缩,尽可能降低其分辨率。同时,尽量减少未压缩的音频数量。点击此处,查看更多减少文件大小的提示。

设置 iOS 剥离级别为使用 micro mscorlib。

设置脚本调用优化级别为快速但不支持异常 (Fast but no exceptions)。

切勿让代码与 System.dll 或 System.Xml.dll 产生任何关联,这些库不 与 micro mscorlib 兼容。

删除不必要的代码依赖性。

设置 API 兼容级别为 .Net 2.0 子集。请注意,.Net 2.0 子集与其他库的兼容性非常有限。

设置目标平台 (Target Platform) 为 armv6 (OpenGL ES1.1)。

切勿使用 JS 数组。

避免泛型容器与结构等数值类型相结合。

注意: 但凡方便的功能,里面就必然有性能陷阱

对图集压缩时,一定要注意,图集必须是正方形,同时图集的长和宽必须是2的幂。

把200M的安装包压缩到50M安装包的方法:

把所有能压缩的纹理都压缩。ios 选着使用pvrtc ,安卓使用ETC+apl 通道。

把所有的大图拆成小图。

把能放到资源负上的资源,都放到资源服上,进行动态加载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,420评论 25 708
  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 13,203评论 3 89
  • 原文地址 http://www.fx114.net/qa-75-172454.aspx 使用Profiler工具...
    IongX阅读 5,930评论 1 11
  • 1 资源分离打包与加载 游戏中会有很多地方使用同一份资源。比如,有些界面会共用同一份字体、同一张图集,有些场景会共...
    JumboWu阅读 1,836评论 0 9
  • 文学是很丰富多彩的,各种各样。但是它又的确分成优秀和平庸。我们哪怕可以活上三百岁,有很充欲的时间,
    傲世不染阅读 205评论 0 4