wvogel日記

自分用の技術備忘録が多めです.

画像描画 高速化

というわけで。
高速化を試してみました。
まず、read関数はコストが大きいらしいので、これをfromIntegralに置き換え。
また、preservingMatrixを消してやることで1秒近い時間短縮に成功。
そこで、一度、画像ロードにかかる時間、
及び、画像描画にかかる時間を調べてみると、
ロード0.6s,描画0.3sと、やたらロードにかかる時間が長い。

速度に変化が全然見られない。


今回の場合、10万近い過疎を調べ上げているわけだから、
何かしら無駄なものがあるに違いない。

そこで、ふと、
Color3 GLfloatを、type宣言を用いて
type RGB = Color3 GLfloat
として関数の型宣言に使用していたので、

この型の参照に時間がかかる....とかは、流石にないよな、
と思いつつ、RGB宣言を消して全てをColor GLfloatで表す。
そこで再び -O2オプションつけて実行したら。


速くなった!!
ロード0.18s,描画0.09s!
3倍以上の短縮!

しかし、それでも合計0.3s近くかかってしまっている。
なんとかもうちょっと速くならないかと思い、
リスト表記の代わりにVectorの使用を試みたが、実行できない....
かたまってしまう。
これに関しては、もうちょっと調べてみようと思います。