Zwoptex生成的spritesheet除了可以导出png格式的图片外还有pvr格式。pvr格式是iOS的显示芯片可以直接读取的,不需要经过解析就能直接显示,所以渲染速度更快,更节省内存。
我特意在cocos2D 2.0 rc1版本做了一项测试:
一个空的cocos2D模版工程运行起来之后占用的内存大约是4MB。
直接用CCSprite显示一张2048*1024的数据格式为RGBA565的PNG图片之后,内存占用达到了20MB。
同样的情况下换成pvr格式之后,内存占用为16MB。也就是说png格式的图片占用了20-4=16MB,pvr格式的图片占用了16-4=12MB。节省了25%。
Zwoptex还有一个选项叫做“ccz压缩”,选中之后图像的大小几乎可以减小一半。这样的文件格式成了:xxx.pvr.ccz,cocos2d是可以识别的。
PVRTC2和PVRTC4是两种pvr压缩的图像格式,他们都是pvr文件。这两种图像格式比普通图像有更快的加载速度和更小的内存占用。
PVRTC4: Compressed format, 4 bits per pixel, ok image quality
PVRTC2: Compressed format, 2 bits per pixel, poor image quality
一般pvr格式文件的图像格式有:
RGBA8888: 32-bit texture with alpha channel, best image quality
RGBA4444: 16-bit texture with alpha channel, good image quality
RGB565: 16-bit texture without alpha channel, good image quality but no alpha (transparency)
图像占用内存的公式是:numBytes = width * height * bitsPerPixel / 8
也就是说2048*2048的RGBA8888占用内存16MB,而PVRTC4只占用2MB
相关推荐
`.pvr.ccz`是一种被广泛使用的高效能、低压缩比的图像格式,主要由Apple为iOS设备开发,用于减少资源加载时间和内存占用。而`.png`(Portable Network Graphics)则是一种无损压缩的图像文件格式,支持透明度,并且...
`.pvr.ccz`是一种专为cocos2d-x设计的高效、压缩的纹理格式,它能有效地减少内存占用并提高渲染效率。然而,许多图像编辑工具并不直接支持这种格式,因此开发者需要将常见的`.png`图片转换成`.pvr.ccz`格式以便在...
然而,有时我们需要将一个大的PVR文件拆分成多个单个切图,以便于优化资源加载、减少内存占用和提高性能。这时,“PVR资源拆图工具”就显得尤为重要。 该工具的核心功能是将PVR格式的图资源拆解为单独的切图。操作...
TexturePacker是一款强大的纹理集打包软件,它允许用户将多个小图像(如游戏中的精灵或UI元素)组合成一个大的纹理贴图,并进行智能裁剪和压缩,以减少内存占用和提高渲染效率。在处理大量图片时,手动操作会非常...
这种格式主要用于减少存储和传输图像数据时的内存占用,是Sega Dreamcast游戏中的主要图像文件格式。 2. **spvr2png工具概述** spvr2png是一个小型的命令行工具,由C语言编写,专用于将Sega Dreamcast的PVR图像...
例如,开发者可以设定将所有.png或.jpg格式的纹理转换为.PVR格式,并使用特定的压缩级别和色彩模式。 此外,vrTexToolBatch也考虑到了工作流的可定制化,允许用户根据项目的具体需求自定义参数。这包括选择不同的...
在Cocos2d-Js开发中,资源管理是至关重要的,特别是对于大型游戏或应用,高效地处理资源加载和内存占用能显著提升用户体验。本教程主要讲解如何使用TexturePacker工具进行资源打包以及如何在Cocos2d-Js中进行异步...
1. **纹理集(Texure Atlas)**: 纹理集是将多个小图整合到一张大图上的技术,减少渲染时的纹理切换,提高游戏或应用的运行效率,降低内存占用和加载时间。 2. **自动裁剪(Auto Trim)**: TexturePacker支持自动裁剪...
"image_DXT.c"文件则专门处理S3 Texture Compression(DXT)格式的图像,这种压缩格式常用于减少纹理内存占用,提高渲染性能。"image_helper.c"包含了一些辅助函数,用于支持图像处理的各种通用任务。 "wfETC.c...
7. **性能优化**:尽管DevIL提供了丰富的功能,但其设计也注重效率,尽可能减少内存占用和CPU使用,以满足高性能应用的需求。 在C++项目中整合DevIL时,开发者通常需要以下步骤: 1. 添加DevIL库到项目依赖。 2. ...