项目的性能优化主要在于CPU性能,GPU性能和内存。CPU及GPU性能优化见后续相关文章,此处先将最近做的关于内存优化的部分做一个简单的小结。
游戏开发中的内存开销我理解主要包括三个部分:
1、资源内存占用(美术资源为主)
2、Unity自身内存占用
3、C#托管堆内存占用
本篇主要介绍其中第一种情况也是内存开销的大头——美术资源部分。
我们通常所说的美术资源大致包括以下几种:Texuture、Mesh、AnimationClip、AudioClip、Material、Shader、Font等,其中的Texuture、Mesh、AnimationClip、AudioClip又是美术资源中最主要的内存开销。
一、Texture
这里的Texture包括模型的纹理贴图、Lightmap、NormalMap等,也包括UI贴图。Texture往往是游戏中内存开销的最大头。那么对于Texture,我们应该主要的主要是下面几点:
1、Texture格式
l 众所周知Texture的格式是最直接也是影响最大的Texture属性。其直接影响了Texture的内存占用,包量及加载速度。一般来说,我们会对Texture做依据平台的格式压缩。例如:Android平台的ETC、IOS平台的PVRTC等,为了直观的看到Texture的各种格式我们需要一些辅助检查的工具,比如WeTest<