Max simultaneous textures? How many typical?

Started by
12 comments, last by jollyjeffers 17 years ago
I need to know what most typical hardware use as max simultaneous textures? My program runs on 16 at a time. Is that ok for most cards? Also ps 2.0 and vs 2.0. Thanks, Devin
Advertisement
Quote:Original post by devronious
My program runs on 16 at a time.
What on earth are you doing with 16 textures at once? Even if it works, you're going to make a mess of your texture cache with that much stuff going on at once.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Seems to work fine on my system. Shader has 16 samplers, is that the same is simultaneous textures concept?

texture tex0;
texture tex1;
texture tex2;
texture tex3;
texture tex4;
texture tex5;
texture tex6;
texture tex7;
texture tex8;
texture tex9;
texture tex10;
texture tex11;
texture tex12;
texture tex13;
texture tex14;
texture tex15;

sampler samp0 = sampler_state { texture = (tex0); };
sampler samp1 = sampler_state { texture = (tex1); };
sampler samp2 = sampler_state { texture = (tex2); };
sampler samp3 = sampler_state { texture = (tex3); };
sampler samp4 = sampler_state { texture = (tex4); };
sampler samp5 = sampler_state { texture = (tex5); };
sampler samp6 = sampler_state { texture = (tex6); };
sampler samp7 = sampler_state { texture = (tex7); };
sampler samp8 = sampler_state { texture = (tex8); };
sampler samp9 = sampler_state { texture = (tex9); };
sampler samp10 = sampler_state { texture = (tex10); };
sampler samp11 = sampler_state { texture = (tex11); };
sampler samp12 = sampler_state { texture = (tex12); };
sampler samp13 = sampler_state { texture = (tex13); };
sampler samp14 = sampler_state { texture = (tex14); };
sampler samp15 = sampler_state { texture = (tex15); };
It's in the caps. Caps viewer on my card (Radeon X1950XTX) tells me that MaxSimultaneousTextures is equal to 8.
NextWar: The Quest for Earth available now for Windows Phone 7.
I concur with Promit - multi-pass might well be a more performant option...

Quote:Original post by Sc4Freak
It's in the caps. Caps viewer on my card (Radeon X1950XTX) tells me that MaxSimultaneousTextures is equal to 8.
This is correct for the older fixed function texture cascade.

Not sure about SM1, but SM2 requires 16 samplers with a maximum of 32 fetches, again not sure about SM3 but I think its the same 16 samplers but unlimited fetches...

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:Original post by jollyjeffers
I concur with Promit - multi-pass might well be a more performant option...


NO. Don't even think about it.

Multi pass solutions will always require some kind of alpha blending. The relative alpha blending performance gets worse with every new generation. Additional you would need more bandwidth which is a critical resource, too. The texture cache wouldn’t be that much a problem as with many pixels in flight the GPU can order texture fetch’s in a way that doesn’t crash the cache.

Quote:Not sure about SM1, but SM2 requires 16 samplers with a maximum of 32 fetches, again not sure about SM3 but I think its the same 16 samplers but unlimited fetches...

hth
Jack


SM 1.1 - 1.3: 4 samplers one read per sampler.
SM 1.4 : 6 samplers two reads per sampler.
SM 2.0 : 16 samplers ; 32 reads
SM 2.A : 16 samplers ; 512 reads
SM 2.B : 16 samplers ; 512 reads
SM 3.0 : 16 samplers ; >= 512 reads
SM 4.0 : 16 samplers (can read from 128 diffrent resources) ; nearly unlimited reads.



Oh thanks guys, I thank you for your help!

So if I require shader model 2 or greater for my program than I'm OK using up to 16 samplers in one of my shader programs?

I don't want to stage them as it isn't about staging but rather that each vertex may access a different texture and use that texture instead of another. So that a huge vertex buffer may use the texture data from up to 16 different textures.
Quote:Original post by devronious
So if I require shader model 2 or greater for my program than I'm OK using up to 16 samplers in one of my shader programs?
Yes [smile]

Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Aaaah, thanks I feel safe now. My whole system is built around this ability for speed sake.

-Devin
Just a question; if i want to use lots of different photos as textures, say 100 different photos (all in same scene) on different cubes, can i do this?

This topic is closed to new replies.

Advertisement