@anon98020523 You are mixing up 2 things here.
PVRTC and PVRTC2 are codecs supported by PowerVR GPUs. Which indeed might be a bad choice for Android - good for iOS.
PVR is a container format. It can put all kinds of pixel format inside - here’s a list supported by TexturePacker:
If you want to be compatible with all platforms you can choose the RGB* formats.
If you are extremely short on memory (download size or runtime) you might prefer the hardware compressed formats.
Pvr.ccz vs pvr.gz: With pvr.ccz or pvr.gz and RGBA8888 you should get about the same as with png files.
Using 16bit colors instead (RGB565 or RGB5551 or RGB4444) you can reduce runtime memory by 50% and the download size. With dithering you should still get acceptable display quality - especially on devices with high DPI. The pvr.ccz should be better than png or webp because it really only stores 16bit pixels instead of 32bit like WebP or Png would do.
I personally would prefer quality over size and use Png or Png-8 instead of hardware compression.
16Bit vs hardware compressed: Depends on your data. Artifacts with the hardware compression might be too heavy.
WebP (lossless) vs Png: WebP might be smaller - but it depends on your image data. I don’t think that you can generally say that WebP is smaller. In terms of RAM it does not make any difference.
This is a comparison of the file formats. Always the same sprite sheet (some random sprites from Kenney.nl), 990x1559
size pixel file format
-------------------------------------------
106.972 RGBA8888 png (8 bit)
134.717 ETC1 pvr.gz
135.079 ETC1 pvr.ccz
140.935 RGBA4444 pvr.gz
185.908 RGBA8888 webp (lossless)
238.116 RGBA8888 pvr.gz
238.513 RGBA8888 pvr.ccz
293.991 RGBA8888 png
330.632 PVRTCII4bpp pvr.gz (expanded to 1024x2048 because of POT constraint)
585.555 RGBA4444 pvr.ccz
773.812 ETC1 pvr
6.173.692 RGBA8888 pvr
Remark: ETC1 is a bit unfair in this contest because it has to alpha channel…
What you see: Using WebP gives you good results. but there might be better options - even with good old png.
Also remember that ETC1, PVRTC,… use way less runtime memory compared to WebP.