NyARToolkitCPPの実装の為に、ラスタ処理系のデータ型を見直し中。
どの辺を見直しているかというと、今のNyARToolkitは、中間の2値画像を2次元配列で持っているので、これを1次元配列にしてる。
昨日単純に1次元配列にして、インデックス計算なんかを書き換えたら、なんと2割程度性能が劣化。
なんてこったい。
ループの内周とはいえ、ステップ数の増加はそれほど大きくないはずなのに、何でこんなに遅くなるんだろう?(精々足し算5回くらい)変数が増えたのがいけなかったのかな…?
それともなんか実装が間違ってる?
追記
遅くなった原因は、Javaのプライム変数絡みの問題だったらしい。
変数の宣言順番と個数を調整したら、元に戻った。