>>711
スプライトがID3DXSpriteのことを言ってるならアレは遅い。
あれはDraw1回につきDrawPrimitiveを1度ずつ呼んでいるはず。
ヘルプを見れば分かるんだが実はこんだけサイクル数がかかる。
DrawIndexedPrimitive 1200 - 1400
DrawPrimitive 1050 - 1150
こいつらを呼ぶ回数を減らせば減らすほど(普通は)速くなる。

あとD3DUSAGE_DYNAMICなVertexBufferも良いのだが
頂点バッファを用意したりロックしたり、デバイス消失のイベントをハンドルしなければならず、手間がかかる。
しかもSetStreamSourceだとかSetIndicesとかにまた数千サイクルかかる。
システムメモリに頂点溜め込んで一気にDrawIndexedPrimitiveUPが高速だし楽。

あとはこの辺を参考。
http://www.twin-tail.jp/contents/vsdx8/d3d/020/index.htm