RTSみたいなゲームを作ってる者なのですが
描画速度が思うように速くならずに、非常に困っております。

画面サイズは800×600で、フィールドは32×32の板ポリゴンをタイル状に敷き詰めてます。
その上で動くユニットと小物オブジェクトも全て板ポリゴン(一部ビルボード)です。
それを1フレームごとに
Clear
フィールド描画 = SetTexture()→DrawPrimitiveUp()を各タイルごとに約500回
ユニット&オブジェ描画 = Vertex配列に座標数値を代入して
              SetTexture()→DrawPrimitiveUp()を平均500回(500オブジェ分)
Present
と描画してるのですが、当方の環境はP4 1.8GHzでオンボードのグラボですが
せいぜい28FPSまでしか出せません(ポーズ中の描画Onlyのみで)。

たかだか1000個の板ポリゴンを描画するだけでFPS30もいかないものなんでしょうか?
これで本来の内部処理を加えると、20FPSが限界になってしまいます。
1フレームごとに
頂点配列に数値代入(フィールドタイル以外)→SetTexture()→DrawPrimitiveUp()
を板ポリの数だけ繰り返すやり方では駄目なのでしょうか?