JPEG XL Implementation


Recommended Posts

Hello there :)

Are there any plans on implementing the new JPEG XL format, currently being developed?

Its lossless compression seems to greatly outperform even optimized PNG in file size and decoding speeds which would be perfect for textures in real-time applications. It should be a massive benefit to project size, load times and maybe even texture streaming.

I'm no programmer so I don't know how much this will actually effect performance or final build size but I guess it would be pretty great.

JXL still somewhat early in development I think.. but could be a point for version 2.15 or 2.16.

Thanks for your time!

Link to post

videXX

Thanks for the suggestion!

Unfortunately, GPUs are not working with these intermediate formats directly, so the compression rations that you can achieve (when storing files on HDD) has nothing to do with the final texture size that GPU will store in the VRAM.

We will check the adoption rate of this format and maybe in the future SDK updates will add to the supported list (but not in 2020, I think).

Thanks!

 

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post

Hey Silent,

Thanks for the fast answer.

I'm actually not quite sure we both are on the same page right now. Does the intermediate format help in any shape or form with the final application size or is that completely unrelated? If so there'd be probably no point in implementing the format to be honest.

Greetings, Shiro

Link to post

If you will store only intermediate formats in the final application and will not use any GPU-friendly formats you will get the following:

  • The smallest disk usage possible in a final application
  • Huge spikes on uploading textures to GPU
  • Huge VRAM consumption (more likely this kind of texture will be represented on GPU as RGBA8 uncompressed format)

If you will use GPU-friendly formats it doesn't really matter if they were in JPEG XL, PNG, TGA previously. All these textures will have the very specific compression ratio.

Right now it's generally possible to reduce the storage size even more with some tricks like RDO compression and LZ4 on top of it. We sometimes use only LZ4 compression on top of the final BCn compressed texture (that will affect only storage size on disk, texture uploaded to GPU will have the higher size).

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post