把纹理的颜色位深度减小到16位,不只能够减小内存压力,还能够有效地减小程序的体积。可是,咱们还有其它方法能够更进一步地减小程序的大小。html
若是你有某些缘由,让你坚持要使用PNG文件格式而不是我以前极力向你推荐的pvr.ccz文件格式,那么TexturePacker有一个选项,叫作“Png Opt Level”(Png优化级别),能够帮助咱们减小png文件的大小(注意:这样并不会影响图片加载时间)ios
就我目前的理解来看,最大的优化级别能够生成最小的文件大小。可是,它有一个缺点,就是很是耗时。对于2009年出的27寸的iMac来讲,处理尺寸稍大的纹理,须要耗费10-20的时间来处理。因为该优化过程采用了多线程的方式,因此,若是你有机器是四核的,那么速度应该会快一些。xcode
固然,你只有在真正发布应用的时候才须要利用这个优化特性。如今的问题是,它到底能够减小多少文件体积呢?多线程
我最大的一张png图片从2.4MB减小到了2.2MB.小一些的纹理从180kb减至130kb。可能单个文件减小的量并非不少,但是当你的png图片的总大小有18MB时,它可使之减小至16MB。
注意,在xcode里面有一项设置,你可能会把它忽略掉。你须要关闭"Compress PNG files"开关,由于这个选项有可能会使你的png图片膨胀。你能够在xcode的build settings里面设置,以下所示:工具
若是激活此png压缩选项,xcode会在png文件打包进程序的时候运行自带的png优化程序。因此,有可能会使咱们先前使用TP优化过的png图片再次膨胀。所以,再次确保这个选项已关闭!测试
不过即便你没有禁用此选项,你的程序大小仍是会有所减少。由于,你有可能使用一些没有被TP优化过的png图片。优化
在Xcode里面,运行Archive build(在菜单中选择Product->Archive)。当build成功的时候,Xcode的Organizer窗口会打开,而后你会看到一个“Estimate Size”(评估大小)的按钮,能够用来估算你的应用程序大小:ui
在开发游戏的过程当中,你会常常添加、移除和替换游戏资源。因此,你可能会由于某些缘由,忘记移除一些不用的图片资源。因此,你须要额外注意把它们都从项目中移除出去,至少要从程序的target中出去。spa
尤为是你使用多个target的时候(好比,你同时维护ipad和mac版本),你就极有可能会在一个target里面添加一些错误的资源。.net
固然,在移除资源以后,你必定要充分测试你的游戏。切记!必定要充分测试。
有时候,咱们也会忽视这个问题。若是你不考虑声音文件的格式,不论是就内存的使用仍是程序的大小而言,都是一种极大的浪费。下面是一些方法能够用来减小声音文件的大小。我推荐你们使用一款免费的声音编辑工具。
立体声道变单声道 – 你的mp3文件能够采用立体声,可是,这样作值得吗?若是你听不出来差异的话,建议仍是采用单一声道。这样能够把文件大小和内存使用都减小一半。
MP3 比特率 –在iOS设备上面,任何比特率大于192kbps的声音都是浪费。你能够尽可能采用低的比特率来得到最好的音质效果,这是一个折中。通常来讲,96到128kbps对于mp3文件来讲够用了。
采样率 – 大部分的声音文件使用11,22,44,或者48kHz采样率。采样率越低,声音文件越小。可是,这样声音质量也会越低。44kHz已经达到了CD的音质了,而48kHz会更好(这个差异只有调音师才能够听出来)
在大部分状况下,44kHz或者更高的比特率都有点浪费。因此,能够尝试下减少采样率(在Audacity里面:Tarck->Resample)。不要只是修改采样率,由于这样会改变声音文件的音高。
mp3文件的播放,首先是加载到内存中,而后解码为未压缩的声音buffer,最后再播放。
就我目前所知,CocosDenshion的SimpleAudioEngine的playBackgoundMusic是流式播放mp3文件的。流试处理有两个优势:1.更小的内存足迹。2.解码mp3文件采用ios硬件,而不是cpu。可是,硬件一次只能解码一个文件,若是同时播放多个,那么只有一个采用的是硬件解码,其它的都是软件解码。
许多开发者没有注意到,tilemap大小太大会消耗大量内存。假设你有一个1000*1000的tilemap,这个大概要消耗1M的内存--若是每个tile消耗一个字节的内存的话。然而,若是每个tile大概消耗64个字节的话,那么这个tilemap就会消耗60MB内存。个人天啊!
除了写一个更优的tilemap渲染器之外,咱们惟一能够作的就是减小tilemap的大小了,也能够把地图一分为二。
哈哈,是滴。此次,我把文章变短一些,但愿大家都看懂了。
原文:http://www.cnblogs.com/zilongshanren/archive/2012/12/16/2820352.html