メモリリーク?
投稿者 : ロンド(fl1-122-134-98-35.iba.mesh.ad.jp)
- 2009/06/10(Wed) 09:29
No.12374
|
|
|
|
|
今作っているゲームを長時間プレイしているとメモリが肥大化していることに気づいたので色々調査してみました。
どうやら、$projectManager.loadPage()でページを移動する際にメモリが全部開放されていないようです。 Tonyuにはガベージコレクションが実装されているようなのですが、メモリが少なくならないと実行されないらしく、PCのメモリがいっぱいいっぱいにならないと実行してくれません。
ページ移動する際にオブジェクトを全部Dieしたり、clearAllValues()(プログラム内で使うのはマズいらしいですが)を呼んだりしましたが、駄目でした。
私が検証した限りでは、新規プロジェクトを作成し、SecretCharを作成、そのオブジェクトに
extends SecretChar; wait(10); // 任意 $projectManager.loadPage($page_index);
を記述し実行するだけでメモリが肥大化していきました。 最終的にはTonyu.exeの使用メモリが1GBを越え、メモリ不足のエラーが出て停止も実行も不能に・・。
$projectManager.loadPage()を呼んだときにメモリを増やさないようにする方法はないのでしょうか。
|
Re: メモリリーク?
投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/06/13(Sat) 22:17
No.12389
|
|
|
|
もしかしたらこれをどうにかすることで高速化しそうですね。 ただ、現状ではhogeさん以外がTonyuの内部をいじることはできないため、hogeさんがこの記事に、反応してくれることを望みます。
|
Re: メモリリーク?
投稿者 : たく(ntchba126209.chba.nt.adsl.ppp.infoweb.ne.jp)
- 2009/06/14(Sun) 14:09
No.12403
|
|
|
|
私も前々からガベージコレクションの動きが気になっていました。 それとページを移動したら全てのオブジェクトを削除する機能などを実装してほしいです。
次バージョンではメモリ回りを強化してほしいですね。
|
|