toge's diary

コンピュータ関連の趣味をつらつらと。

時間のかかる処理を別スレッドへ

id:i-saint:20070615#p1 さんに触発されたので。

せっかくCPUが2つ以上見えるのだから時間のかかる処理を別スレッドへ逃してしまえという話。
残念ながらOpenGLの関数とかSDLの関数を別スレッドで呼ぶと悲惨な結果になるので、純粋なC++のルーチンで時間のかかるものを別すれっどにしましょと。

id:i-saintさんは衝突判定を別スレッドに出したみたいですね。
私は一番重い水面データの更新を外に持ってきました。
まあ、当然の結果ですが、10行程度のコード追加で、いい感じに高速化しました。Core 2 Duo万歳。

まだ衝突判定はそんなに重くないはずですが、これも今度別スレッドにしてみます。Core 2 Quadでもちょびっと高速になったりして。

ちょちょっといじって衝突判定を別スレッドにしましたが当然なんにも変わらず。せいぜい50個のオブジェクトの衝突判定では当たり前か。もちっとオブジェクト増やさんとな。