高速に2D描画したかったら何がいいの?

今度は2次元格子上のエージェントを扱いたいので、出来るだけ高速に格子オブジェクトを描画したい。
後の拡張性はとりあえずなくてもよい。今のところWindowsで動かしたい。
使う言語も速い方がよいが、まあC#くらいなら良いかなあと思って、何個か速度を比較してみた。
やっぱり、標準のAPIは遅いし、Siv3Dもあと一歩というところ。
なので、今回はOpenGLを使ってみたいと思う。


指標は、1秒間に3x3の正方形を何個描けるか(Sq/s)で比較した。
環境はVisual Studio Community RC2017。特に平列化は行わず、Releaseビルドにしたもの。
実装の詳細は適当なので割愛する。ガチガチにチューニングすればずっと改善するかも知れないけど、あくまで目安として。

言語 実装 スループット
C# WPF DrawRectangle 384k
C# WPF bitmap直接 12.8M
C++ Siv3D 27.5M
C++ OpenGL 64.0M