[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00181] java.lang.OutOfMemoryError
京都の長谷川と申します。
Java6ヶ月、Java3d3ヶ月位の初心者です。
JavaAppletについてお教え下さい。
テクスチャが多いアップレットにおいて、アップレットを
実行するごとにメモリが追加消費され、OutOfMemoryに
なってしまいます。
1GBメモリマシン
Java実行時のパラメータ
-Xmx700m -Xms700m
インターネットエクスプローラでアップレット表示
Javaコンソールにより
メモリ: 711,296K 空き容量: 651,519K (91%) ... 完了。
メモリ: 711,296K 空き容量: 603,460K (84%) ... 完了。
メモリ: 711,296K 空き容量: 560,893K (78%) ... 完了。
・
・
・
java.lang.OutOfMemoryError
アップレット表示しているブラウザを閉じでもメモリ消費量は
変わりません。
実行時毎回、読み込むアップレットは異なるような
プログラムです。ある判定された10枚程度(最大20枚)の
jpg画像を読み込みます。
画像サイズと枚数
1024x1024 2枚くらい
512x512 10枚程度−1024x1024の枚数
プログラム抜粋(****は伏せ字)
if(i1>19) i1=19;
for(int i=0; i<i1; i++){
res=512;
if(****0[i]<=10)res=1024;
geom =
new QuadArray( > ****1.dim,
QuadArray.COORDINATES |
QuadArray.TEXTURE_COORDINATE_2);
geom.setCoordinates(0,
****1.Vec******(****2[i],****3[i],10));
geom.setTextureCoordinates(0, 0, tx2.txcoords);
grid = new Shape3D(geom, createAppearance(img[i], res));
grid.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
trans.addChild(grid);
}
その他はJava3Dプログラムミングバイブルを参考にしています。
512Mメモリーのマシンで安定して動くようにしたく、対応策を
ご教示頂ければ幸いです。
Javaの基本的なところを理解していないだけかもしれませんが
その分はお許し下さい。
★★★☆☆☆★★★☆☆☆★★★☆☆☆★★★☆☆☆
有限会社スカイ・エス・エイッチ http://www.sky.sh/
日医総研日医IT認定サポート事業所
http://www.sky.sh/orca/
長谷川 司 hasegawa@xxxxxxx
京都市伏見区桃山町立売37-105
TEL 075-622-7385 FAX 075-622-7403
i-mode 090-7354-4305