Is DDS slower?

Blitz3D Forums/Blitz3D Programming/Is DDS slower?

jfk EO-11110(Posted 2010) [#1]
Recently it appeared to me, the bigger the DDS textures are, the slower they will be rendered. With BMPs, JPGs etc. there has never been a speed diffrence, but could it be that that unpacking of DDS at runtime can slow down a game, the bigger the DDS textures are? I mean, it's nice to be able to store much more 2k*2k textel texture in Vram than there logically would be space, but the speed aspect is also something very important to me. Can anybody confirm this?


SLotman(Posted 2010) [#2]
It's the usual trade-off: memory x speed.

DDS textures will be slower indeed - just don't know how much slower, never really did anything with it so far.


jfk EO-11110(Posted 2010) [#3]
They are really good, esp. for masked and alpha things, because you can do some settings for the renderer, eg. to prevent a masked wirefence from vanishing at a distance greater than 5 Meters, and so on.

In one sitation I had to reduce all big texture by 50% (from 2048^2 to 1024^2). The framerate then went up from about 1 fps to 30 fps. So, maybe as a conclusion I'd say for masks and alpha use DDS, for big other textures better use BMPs or JPGs.


Naughty Alien(Posted 2010) [#4]
..hmm..never came across such situation with few engines i have used, and few were pushed quite hard..i mean, FPS difference you talking about is massive...is there any way that some other things may cause such slowdown, and related to those textures?


Gabriel(Posted 2010) [#5]
DDS textures will be slower indeed - just don't know how much slower, never really did anything with it so far.

Something is seriously wrong if they're slower. They're the same format DirectX uses internally, and they use less ram. They're faster to render, not slower.


skidracer(Posted 2010) [#6]
Perhaps DDS without mipmaps remain without them when loaded which would make them slower. If you are not generating mipmaps in your DDS files then you should be.

editL ah yes, from the docs:

The mipmap flag is ignored when loading DDS textures. Instead, if the DDS file contains mipmaps, then they are loaded & used.



Last edited 2010


jfk EO-11110(Posted 2010) [#7]
I only know it was running much faster after resizing the DDS textures. Not sure if they had Mipmaps before, but I exported them with the default settings, that's all Mipmaps (13 I guess). So Gabriel, you say, when I load a BMP then it will be stored compressed in Vram? Isn't this kind of slow by design, from a logical point of view?


Rroff(Posted 2010) [#8]
I've always built mine with mipmaps - but I've certainly not seen any slowdown with several hundred megs worth of 1024x-4096x dds textures in use infact it was marginally faster than using tgas for the same thing.


Tom(Posted 2010) [#9]
I remember testing this and DDS rendered quicker at the time of their inclusion.

I was surprised, but put it down to fast decompression in hardware, and/or the compressed source data being only a 1/4 to 1/8 the size in memory.

Been a long time though. :)


Rroff(Posted 2010) [#10]
Wonder if its related to the videocard - all my testing has been on fairly high end hardware - GTX260, GTX470, etc.


jfk EO-11110(Posted 2010) [#11]
Yes, I've been testing this on an older card. It may also have something to do with a limited amount of Vram.