3d - Texture change (and other state-change) costs on modern GPUs -


i'm writing scene-graph based graphics engine modeling purposes. i'm using xna 4. on many places have been reading, texture changes (and other state changes) should minimized during rendering (so have order primitives materials, etc.).

i created small test application in xna 4, rendering hundreds of stanford bunny models single texture, doing same toggling 2 different textures. there no difference in rendering time (however used small ~100x100 textures).

so questions are:

  • should care sorting primitives texture/color/other material parameters? or less important on modern gpus?
  • what expectable percentage of performance loss, if don't?
  • are there other state changes, can effect performance?
  • where can find date literature/best practice guide this?

thank or links!

state changes haven't been expensive long time. batches expensive. (and state change necessitates new batch). batch call draw*primitives function.

this pdf nvidia explains in detail. gives ideas reducing batch count.

batches cpu-based limit (not gpu). pdf lists "< 130 tris/batch" point submitting batches dominates performance , gpu sits idle waiting more batches (details). says 400 batches per frame, @ 60 fps, per 1ghz of cpu power dedicated submitting batches. (although pdf bit old, figures bit out of date.)

my answer on gamedev site similar question should provide more details. this 1 too.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -