PVRTC compression increases the size of PNG files

To develop games for the iPhone, I switched from PNG to PVRTC for performance. But PVRTC compression creates files that are much larger than PNG files. Therefore, PNG of 140 KB (1024x1024) is inflated to 512 KB or more in PVRTC format. I read somewhere that a 50KB PNG file is compressed to about 10KB and that's it, in my case, the other way around.

Any reason why this happens this way and how I can avoid it. If PVRTC compression blindly does 4bpp (1024x1024x0.5) conversion regardless of transparency in PNG, then what kind of compression are we achieving here.

I have 100s of these 1024x1024 images in my game, as there are many characters, each of which performs some complex animations. So at this speed of 512 KB per image, my application will receive more than 50 MB .. this is not acceptable for my client .. (with PNG, I could get my application up to 10 MB).

+5
source share
4 answers

In general, uncompressed image data is 24-bit (RGB) or 32bpp (RGBA). PVRTC has a density of 4bpp (or 2bpp), so there is a compression of 6 or 8 (12 or 16) times compared to this.

, . PVRTC - , PNG - , PNG . PVRTC - , ; PNG - .

PVRTC 4x4 , , , , . , 4x4 texel / ..

PNG ; , , , , . , , . PVRTC, .

, ( ) PNG , PVRTC, , . PVRTC , PNG, , , , . PNG , .

PVRTC, zip .

+17

PVRTC (PowerVR Texture Compression) - . , PowerVR, . , iPhone , ARM, iPod, , . , , PNG , .

PNG - .

PVRTC - , , . .

PVRTC "" ( ) , , .

PNG , , , . , , , PNG.

.

+2

, , . .

, , 64x64, 256 1024x1024 16x16.

, , .

iPhone.

0

. . 3 , , . , .

The only thing I can advise is do not use PVRTC if you do not want to use it. It provides increased performance and saves VRAM, but in this case it will not help you. Because you just want to reduce the volume of the game, and not consider the trade-off between performance and quality.

0
source

All Articles