   static or dynamic vertex buffers?
  HiI'm developing a 2d application using SlimDX.The app mostly renders textures, text and stuff like that. In general my vertex buffers dont change much. Some never change, some do changebut perhaps every 20 framesNow i'm wondering what's gives the best performance. static vertex buffers or dynamic vertex buffers?I tried both on my pc and didnt notice any difference, but perhaps it will make a difference on other pcs / gpus ???   
  What sort of frame rate are you getting? There's no point trying to test the difference at 10,000 FPS, you'll need to get it to drop to 20 or 30 FPS (With v-sync disabled) before you can really see if anything makes much difference.How long is 20 frames? 0.3 seconds? And how much data are you copying into the vertex buffer each time?This sounds like a bit of an edge case though where it won't make an awful lot of difference. I'm tempted to say just make them dynamic to be sure, but without meaningful profiling it's just a guess.   ;  >What sort of frame rate are you getting? With vsync disabled i get around 50 fps.>And how much data are you copying into the vertex buffer each time?Most are simple rectangles so 4 vertices/bufferfor text its much more easily going up to 2000 vertices/buffer>How long is 20 frames? 0.3 seconds?yupI would like to reach at least 60 fps since thats the refreshrate of the lcd screenAnother thing i'm wondering about is if performance will greatly improve if i merge all the small vertex buffers together into 1 big vertex buffer ?(and perhaps all small textures in 1 big texture)When done I will still need the same amount of DrawIndexPrimitive() but i only need to set the vertex format & vertex buffer & texture 1 timeThen again most of the times i only do 10-20 DrawIndexedPrimitive() calls/frameerwin   ;Quote:Original post by ebeckersWith vsync disabled i get around 50 fps.I would like to reach at least 60 fps since thats the refreshrate of the lcd screenIf you don't notice any difference at that frame rate, you're unlikely to ever notice a difference. The only real way to be sure is to try it out on different hardware.Quote:Original post by ebeckersAnother thing i'm wondering about is if performance will greatly improve if i merge all the small vertex buffers together into 1 big vertex buffer ?(and perhaps all small textures in 1 big texture)When done I will still need the same amount of DrawIndexPrimitive() but i only need to set the vertex format & vertex buffer & texture 1 timeIt won't make much difference really - it's the number of batches (I.e. DrawIndexedPrimitive calls) that affect performance. Usually, the reason to combine VBs and textures like that is so you can make fewer DIP() calls; what are you doing that requires multiple calls?Quote:Original post by ebeckersThen again most of the times i only do 10-20 DrawIndexedPrimitive() calls/frameAt 20 calls per frame, you're also not going to notice much difference really. If you had a few hundred, you might see a difference.You'll need to use something like NVPerfHUD (With is NVidia only, or equivalent for an ATI card) to profile the GPU properly.   ;  >what are you doing that requires multiple calls?different shaders:-)   