Imagination PowerVR SDK Blog

iOS Source or Lib runtime PVRTC compression



PVRTC2 produces good results for the bits used. Unlike the S3TC/block-encoders, it doesn’t suffer from the same edge disparities ( gradient chunking ) as others and needs a smaller border for our Texture Atlases. However, PVR is only usable on a small number of ‘fixed, shipping’ images. The lack of a run-time compression approach is a problem for us as our apps use a lot of ‘user-acquired’ images and we do not have source code, a dynamic-library or a ‘shipping executable’ to run on iOS (client target). Many of us coders have asked for this capability since Imagination first started offering the compression. Imagination seems to have good developer relations but i’m curious why this hasn’t been addressed. ( Note: i was an early ‘PowerVR’ developer on the PC in the 90s w/ the Kyro series and tried to lobby Joe Kreiner to support a mobile GLES compression feature several years ago ). Any help/thoughts? Thanks…and good luck+


Note: i’m aware of multiple answers on these forums regarding how you do not “share or license” the ability to compress to PVRTC… such as, but i appealed to an Imagination Blogger who asked me to re-post. The hope is that perhaps Imagination can reconsider this position as PVRTC is simply not usable with all of the live/dynamic content of the web/social-media/user-photos/etc. Thanks-


Hi Simulacrum,

We’ve tried getting something that’s available on device before, but the complexity of the algorithm means that the quality of the results for faster compressors has been mediocre at best. The “Fast” and “Very Fast” options for PVRTC compression in PVRTexTool are as fast as we can get it, and the results are not great. Running these compressors on mobile devices is also much slower, so it’s not been viable for us to release anything thus far. However, there have been external attempts to do this. I would suggest you check out Allegorithmic’s Substance software, or the Substance plug-in for Unity if you happen to be using that? Note that quality of any on-device compression is always going to be lower than that from offline compression however, due to the incredible amount of processing required to get to a high quality texture compression.