游戏性能一直是开发者关注的问题,做好性能优化也是开发者往往会忽略的关键工作。那么怎么做好性能优化工作呢?今天我们就来谈谈性能优化之资源的优化。 资源的优化,顾名思义讲的是游戏中所需要的资源。而在游戏中占用资源最多的便是纹理图片和声音文件。本文主要讲讲这两种资源的优化。 在游戏包体中,纹理图片占据很大部分的体积,纹理图片过大,会影响游戏性能。主要有以下三点: 那么,针对这些问题进行纹理图片优化该怎么处理呢?主要有两点:纹理图片压缩和纹理图片缓存。 传统纹理压缩只是单纯的压缩纹理图片的数据,在读入到游戏中,还要经过解压缩的过程,这样其实只是缩小了游戏的包体大小,并没有降低内存中纹理图片所占的大小,反而增加一个解压缩的耗时工作。那么该如何处理呢?拿Cocos2D-X举例,它的渲染底层OpenGL提供了压缩纹理,可以支持压缩纹理图像数据的直接加载,免去解压缩过程。OpenGL ES 2.0中,核心规范不定义任何压缩纹理图像数据。也就是说核心机制是可以加载压缩的纹理图像数据,但没有定义任何压缩格式。因此,包括Qualcomm(高通)、ARM、Imagination Technologies(iPhone主要供应商)和NVIDIA(英伟达)在内的许多供应商都提供了特定与硬件的纹理压缩扩展。这样开发者就必须在不同的平台和硬件上支持不同的纹理压缩格式。比如苹果的设备均采用PowerVR GPU支持PVR格式的压缩格式。 总而言之,根据不同的需求选择正确的图片格式是性能优化的关键步骤。另外我们也可以将一张大图拆分成小图的方式来减小图片的大小,这样可以保证所有的图素尽可能被重复使用,避免多余图片的浪费。对于非渐进的背景,我们可以使用九宫格图片来减少图片的大小。 这个知识点我将单独用一个博客来讲解(尽情期待😄) 纹理之外,声音文件也会在游戏中占据一定的内存大小,优化声音文件也可以帮助降低游戏的峰值内存。优化方式可以从以下两方面考虑: 资源优化处理是无止境的,在质量和性能间尽量做到平衡。资源的优化
纹理图片优化
纹理图片压缩
分析对比各种格式:
格式
特点
PVR.CCZ
PVR的ZIP压缩形式,程序读入时先解压缩成PVR,然后再传给GPU
PVRTC
采用有损压缩,在高对比下图片有瑕疵。和PVR.CCZ不同的是,PVRTC不需要解压缩。除此之外Android设备基本不支持PVRTC 格式。
RGB565
RGB和RGBA怎么选?RGB即16位色,也就是没有Alpha透明通道的格式。图片去除Alpha通道可以减少图片文件的大小,但在实际中,由于传递到OpenGL ES时需要数据对齐,实际在内存中RGB和RGBA所占大小一样。在16位色中,RGB565质量最高,总共65536种颜色。代表意思:没有透明度,R=5,G=6,B=5,,那么一个像素点占5+6+5=16位(2字节)
RGBA8888
常用格式。由4个8位组成,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位(4字节)
RGBA4444
由4个4位组成,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 (2字节)
纹理图片缓存
声音文件优化
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算