When y'all would finish a game, and decided to convert to DDS and release it. Have you ever encountered a game that just refuses to function well with dds? It's mostly floor textures, but my recent game "realm of the dead" and " drakan the ancients' gates" had that exact issue where some files needed to be png otherwise it would cause terrible flickering.
Just one time so far. A starry sky texture with very high alpha values.
normal | buggy |
| |
The only way I found to fix it was to change the DDS format. Instead of DDS-BC7 I used DDS-RGBA8 for it. Much bigger in file size, but since it was an exception, I could deal with it.
For me, when editing fonts, there are cases where the font will not work when converted to dds. Some say the quality will not degrade when converted to dds but I'm my case, there is degradation and there are also cases where the overall conversion will give a much bigger size compared to your png files.
Most DDS formats are lossy, so you will lose quality. But how much quality you lose depends on the DDS format. For many people (including me) DDS-BC7 is the best compromise of quality and file size.
And there is also a lossless DDS format named DDS-RGBA8. It's huge in file size though.
If PNG or DDS is smaller depends on the content of your texture. DDS files with the same format and the same dimensions always have the same file size.
For example all DDS-BC7 textures with 2048x2048 px have a file size of 4097 KB.
That doesn't count for PNG files. Most of my environment textures which are also 2048x2048 px have a file size of 8-9 MB (Much bigger compared to DDS). But there are also cases where the PNGs are under 1 MB (so much smaller compared to DDS), if big parts of the texture are empty space.
Here is an example. Two textures with 2048x2048 px in different formats:
In case 1 DDS-BC7 is smaller, in case 2 PNG is smaller. Overall DDS-BC7 should give you a smaller texture pack size, since most textures are like texture 1 and not like texture 2.
But keep in mind that people mainly use DDS over PNG, not because of its file size, but because DDS other than PNG don't need to be converted by the emulator which makes loading the texture much faster and avoids stuttering.