These images show a little particles system running on an XBox.
The particles are time-evolved by the GPU in a vertex shader; that
is, the CPU creates particles and then never touches them again.
The particles live in memory only once (in the vertex buffer), there
is no system memory copy. Particles can be added to this circular
buffer by the CPU without stalling the GPU on the XBox.
I get about 30 million particles per second when their size is set
to zero, but in practice particle systems are fill-rate limited.
As usual, it looks much better in motion, but I'm afraid you need
an XBox dev kit to run the demo ;^)