頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


メモリリークの原因はBulletかOpenGLか?

OpenGL + Bullet でいろいろテストしてるところなんだけど、オブジェクトを削除してるのにメモリが減らない、という状況に陥ってしまったのよ。

オブジェクトは描画(OpenGL)のために頂点データなんかを持たせてるし、物理計算(Bullet)用のデータも持たせてる。
特にBulletはC++でnewとかやってるのでdeleteする必要がある。
btRigidBody
btCollisionShape
btDefaultMotionState
これらのオブジェクトに対してちゃんとdeleteしてるはずなんだけど、メモリ使用量が全然減らない、、、?

悪戦苦闘したあげくにようやくたどり着いた結論は、、、
BulletではなくOpenGLの方だったのよ。テクスチャを削除する必要があったとは。
glDeleteTextures
↑これで無事メモリリークに関しては解決。GLKit使ってるんだからフレームワークの方でなんとかしといてよ!と思わないでもないけど、こういうもんなんだね。

<< Bulletではsleep状態だと力を加えても動かない  TopPage  kinematic objectに悪戦苦闘 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/906-1e8368fe




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad