Imagination PowerVR SDK Blog

PVRTC Compressor Performance

pvrtextool

#1

Every PVRTC compressor I’ve seen is comparatively very slow (by an order of magnitude) in comparison to DXT (and I believe ETC as well). Is this due to the nature of PVRTC or are compressors like PVRTexTool and Apple’s “texturetool” just slow ?


#2

Hi Ohlone,



This is largely down to the nature of PVRTC itself. Faster compressors are certainly possible (PVRTexTool has in fact got a few very fast compressors in-built, and Allegorithmic have devised one), but a high quality or exhaustive approach requires a lot of calculation to get it right. The main reason in simple terms is that unlike DXTC, PVRTC’s data regions affect each other, rather than being entirely independent and block based. This allows a smooth gradient between multiple regions in a PVRTC texture that may be impossible with DXTC.



In not so simple terms - the search space for PVRTC is orders of magnitude higher than DXTC’s. We’re currently working on a number of optimisations to speed up even our slowest compressor, but achieving the same speed as a DXTC compressor would only be possible if the DXTC compressor was really slow :slight_smile:



If you’re interested in the details of PVRTC, we do provide a whitepaper on the website explaining it here: https://www.imgtec.com/powervr/insider/powervr-login.asp?doc=PVRTCtextcomp



Let me know if you have any further questions!

Regards,

Tobias