这里将记录一下性能与内存上的优化技巧
1.纹理大小
iOS设备只支持尺寸为"2的n次幂"纹理,就是说每张纹理的高度和宽度只可能为:2、4、8、16、32......1024、2048,(最大尺寸根据设备不同而不同)纹理可以不是正方形,所以 8*1024没任何问题。
制作纹理要考虑上述尺寸,设想最坏的情况:加入一幅大小为260*260像素的32位色图像,在内存中应该占用270KB,但因为纹理尺寸的规则,它实际占用1MB内存。这是因为系统生成的是一张512*512的纹理,所以要把260*260的图像加工成256*256,这样才能最大化利用内存空间。
2.把除法更换成乘法
ARM CPU不支持硬件上的除法运算,所以把除法更换成乘法是个良好的优化习惯。
比如 float a = b / 2; 优化成 float a = b * 0.5;
3. 避免在循环语句中使用方法调用作为循环条件。
for (int i = 0; i < [sprites count]; i++)
{
}
应该优化成
int numSprites = [sprites count];
for (int i = 0; i < numSprites; i++)
{
}