Is DDS slower?
Blitz3D Forums/Blitz3D Programming/Is DDS slower?
| ||
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? |
| ||
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. |
| ||
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. |
| ||
..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? |
| ||
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. |
| ||
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 |
| ||
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? |
| ||
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. |
| ||
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. :) |
| ||
Wonder if its related to the videocard - all my testing has been on fairly high end hardware - GTX260, GTX470, etc. |
| ||
Yes, I've been testing this on an older card. It may also have something to do with a limited amount of Vram. |