More than a year ago, I did some benchmarking in XNA 3.1, comparing the vertex throughput I could achieve on my GeForce 8800 via XNA’s DynamicVertexBuffer class versus just calling GraphicsDevice.DrawUserPrimitives(). Here’s my earlier benchmark: Efficiently Rendering Dynamic Vertices.
In all cases, DrawUserPrimitives()
was marginally faster than
the DynmicVertexBuffer
, but it appeared to be a very bad idea to use
a DynamicVertexBuffer
on the Xbox 360. I had a really nice discussion with
Shawn Hargreaves on the XNA forums where he provided a lot of in-depth information about how
things work on the Xbox 360: .
One of today’s threads on
the AppHub forums reminded me if my earlier benchmarks, so I decided to dig out my old benchmark
and redo it in XNA 4.0. The benchmark uses my Nuclex Framework‘s PrimitiveBatch
class,
which underwent some changes since then, so I repeated the XNA 3.1 benchmarks in addition to
getting the new data for XNA 4.0.