読者です 読者をやめる 読者になる 読者になる

元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

NyARToolKitのラスタ処理改造

NyARToolkitCPPの実装の為に、ラスタ処理系のデータ型を見直し中。

どの辺を見直しているかというと、今のNyARToolkitは、中間の2値画像を2次元配列で持っているので、これを1次元配列にしてる。

昨日単純に1次元配列にして、インデックス計算なんかを書き換えたら、なんと2割程度性能が劣化。

なんてこったい。

ループの内周とはいえ、ステップ数の増加はそれほど大きくないはずなのに、何でこんなに遅くなるんだろう?(精々足し算5回くらい)変数が増えたのがいけなかったのかな…?

それともなんか実装が間違ってる?

追記

遅くなった原因は、Javaのプライム変数絡みの問題だったらしい。
変数の宣言順番と個数を調整したら、元に戻った。