Checking for capabilities

I have a simply game where I'm drawing a flat terrain made up of tiles, each tile being made up of two triangles, and I'm using index + vertex buffers. On my computer (Geforce 6600GT, AMD Barthon 2600+) everything works fine. On my laptop (Centrino 1.7, Intel on-board graphics) nothing shows, so I guess the vertices aren't being drawn.

I'm assuming this is because the on-board card does not support some feature that the 6600GT supports. I checked the GraphicDevice.SoftwareVertexProcessing property, and on my computer it is false, while on the laptop it is true, so I'm assuming that's set right, since most on-board cards don't support much hardware stuff. I'm also using a BasicEffect so that might be it..

I guess I have to check some other capabilities, but I don't know which, so I just needs some tips on what should be checked and adjusted using the Capabilities class.

Thanks




Answer this question

Checking for capabilities

  • Sunny Jung

    A good place to start is running with the debug direct X runtime (http://blogs.msdn.com/rickhos/archive/2006/10/11/quick-advice-for-xna-gse-beta-testers-that-are-trying-to-get-native-debug-spew.aspx), and seeing if that give you any useful warnings.

    Wild guess: are you using 32 bit index buffers I have a feeling the Intel might only support 16.

    Have you tried other XNA games on the Intel card Does SpaceWar work, for instance


  • Milzit

    The only issue with 16 bit index buffers is that you can't reference more than 65536 vertices in a single draw call.

    As long as you have fewer vertices than that, you should generally prefer 16 bit format since it will be smaller and usually slightly faster.


  • sny

    Yep, it was the 32-bit index buffers. 16 bit works fine :) Are there any implications to using 16 instead of 32 bit Maybe there is a way to check for it and use either 16 or 32 depending on the card

    Thanks a lot!



  • Rykin Poe

    Try filling your index buffer with an array of shorts instead of ints.



  • Checking for capabilities