Texture size limitations

Blitz3D Forums/Blitz3D Programming/Texture size limitations

Imphenzia(Posted 2004) [#1]
Does anyone have any good links or information about what the texture size limitations are on a large range of graphics cards?


ChrML(Posted 2004) [#2]
Larger textures = uses more of VRAM. Think of that a texture uses just as much VRAM as the filesize would've been if saved as BMP. That should be almost the size it uses in the VRAM.


simonh(Posted 2004) [#3]
I think some of the older ones have a 256x256 limit, while the newer ones are limited just by the texture memory you have.


Ice9(Posted 2004) [#4]
Vodoo2 and 3's had a 256 limit
I think the tnt2 had a 512 limit

I use to limit myself to 256 textures but 512 seems to
be best for single surface skinned objects. I would
think they would be OK for level design also without
putting too much on a card.
32 meg sounds like a good low end to me


Mustang(Posted 2004) [#5]
IMO you should not use bigger than 1k textures even for modern harware (GeForce2 ->) although latest offerings do support 2K or even 4K textures.


Anthony Flack(Posted 2004) [#6]
You mean 1000 individual textures, rather than a size thing or a memory thing? If so, that's the first I've heard - a good thing to know...


Mustang(Posted 2004) [#7]
You mean 1000 individual textures, rather than a size thing or a memory thing? If so, that's the first I've heard - a good thing to know...


If you mean me, I meant to mean the texture size as in pixels (1K*1K) per one texture, not how many (total) you can use.


Ross C(Posted 2004) [#8]
Yep, 1024x1024 textures can absoluety kill your game. Whereas 512x512 textures are fine (depend on hardware).


CyBeRGoth(Posted 2004) [#9]
4096x4096 is a limit on some new Geforce FX cards
tho I dont think there are any games that need textures anywhere near that size!


Hotcakes(Posted 2004) [#10]
My GeForce 3 Ti200 supports up to 2048x2048...

The larger the values the better. These values don't limit the texture size, they tend to limit the size of any images in vram. Depending on the card of course. Bigger limits = less cutting images in half for my game =]


Ross C(Posted 2004) [#11]
What about running your game on others hardware :)


Gabriel(Posted 2004) [#12]
Yep, 1024x1024 textures can absoluety kill your game.


Really? I used a 1024x1024 texture for the court in Anime Tennis Babes and it works pretty well even with onboard Sis and Intel chipsets.


TeraBit(Posted 2004) [#13]
I found with Tattoo it will be happy up until 1024 x 1024 on most machines. Go above that and it can kill your frame rate if you have to copyrect anything.


Hotcakes(Posted 2004) [#14]
What about running your game on others hardware :)


Obviously a form of autodetection is needed... Usually something like a (size of power of two) < (current screenres size) will do it... hmm.


Mustang(Posted 2004) [#15]
1024x1024 textures can absoluety kill your game. Whereas 512x512 textures are fine


It's not the size, it's how you use it... :P

4 512*512 sized textures will be many times slower than one 1024*1024 - IF you HW supports 1K textures, AND if you can share texturemap space (ie compile bits to bigger maps, like faces, clothes etc instead of keeping them separate texture (surface))


jhocking(Posted 2004) [#16]
"I used a 1024x1024 texture for the court in Anime Tennis Babes"

One big texture isn't a big deal, especially if that one texture is always onscreen (and thus not swapped into/out of memory.) But multiple huge textures can be really inefficient. As Mustang says, it's how you use it. Note that sharing a lot of texture map space gets inefficient if it interferes with culling. That is, even if you are only rendering one tiny part of the texture the entire texture is loaded into memory.


Mustang(Posted 2004) [#17]
Note that sharing a lot of texture map space gets inefficient if it interferes with culling. That is, even if you are only rendering one tiny part of the texture the entire texture is loaded into memory.


Exactly - you should group stuff to a texturemap "intelligently", meaning that group only stuff that's likely to be drawn together, like spesific character OR vehicle texturemaps... but there is not point to group character AND vehicle texturemap together, because they might not be visible at the same time... and they are separate objects anyway menaing separate surfaces. Of course vehicles CAN have characters as drivers, but that's spliting hairs really :)


fredborg(Posted 2004) [#18]
4 512*512 sized textures will be many times slower than one 1024*1024
Actually, that entirely depends on the graphics card.

I've done several tests, and on older cards (Geforce3 and older) 16 256*256 textures are faster than a single 1024*1024 texture...At least for what I was doing :) But that included a bunch of realtime manipulation of the textures.


Anthony Flack(Posted 2004) [#19]
Hm, interesting. Cletus uses a 1024x2048 texture to store everything for its single-surface system. Seems to run okay both on my geforce2 and my mum's onboard card.

I do have the option to run it using a bunch of 256x256 textures instead though, just in case (although doing so necessitates disabling alpha transparency)


Ruz(Posted 2004) [#20]
I have sixty five seperate textures on my demo level( so far), each at 128x128.
at least this way as I am texturing square by square I get even texture resolution all over and it still looks fairly sharp.
pain in the bum with all those multi sub object textures, but it works fine.


slenkar(Posted 2004) [#21]
what if I save the texture as a jpeg, does it take up less memory than a bitmap?


Tom(Posted 2004) [#22]
Only on your HD, once loaded they take up the same space uncompressed. DXTC would save space I think :)