I saw a review of the GeForce GTX 460 graphics card. It has 56 texture units. I'm not that knowledgeable about graphics effects. But, the ones I know use around 3 or 4 texture units. In this graphics card case, that would leave a lot of texture units idle. How are these graphics cards with so many texture units used?

up vote 12 down vote accepted

GPUs generally process a number of pixels in parallel these days, so I expect that it can make good use of all these units even with simple shaders.

56 texture units means that approximately 56 texture filtering operations can occur in parallel in a single clock (throughput) (some operations take longer than others - aniso footprint size, texel size, etc.). The hardware will utilize this automatically since it processes many pixels in parallel. The number of texure slots used per shader does not affect this.

@FuzzySpoon: That isn't the case. Even a single cube will be 56x times faster than a hypothetical 1x texture card, since it is parallelized at the pixel (actually pixel texture request) level. This assumes of course that the bottleneck is texture filtering in both cases.

  • I think fuzzyspoon was saying that 56 cubes on this card would render at the same speed as 1 cube on a 1 texture unit card, which would be true. – Deleter Aug 16 '10 at 18:09
  • yep, its 56 pixels at once, we are saying the same/similar things. – underscorediscovery Aug 16 '10 at 19:28
  • 1
    Yes, we do have the same thing in mind then. AFter bluescrn's "per-pixel" comment, it sounded as though you were being contrary and implying that 56 cubes were actually required to see the speed up. Sorry for the confusion. – Crowley9 Aug 17 '10 at 16:33

Remember that bandwidth limitations and the texture cache also come into play. Use as few samplers as you can, then ask if you can use one less.

  • Heh optimisation master, a texture unit nazi as well?? – underscorediscovery Aug 16 '10 at 19:28
  • First rule of optimization: don't. ;) – ZeroStride Aug 16 '10 at 20:54

Aas stated it can handle 56 textures in parallel. That means 56 different textured cubes takes the same amount as of time to process as 1 cube, on a single texture unit card.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.