[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01092] Re: [Java3Djp:01091] Cylinderなどを繰り返しnewしたときのメモリー増加について
------------------------------------------------------------------------
リツチな生活と美と健康のシヨップ → http://www.windy.co.jp/cy258
X'masプレゼントは世界に一冊のオリジナル絵本!
→ http://emall.justnet.ne.jp/shop/ehon/ad2.htm
「クリオネひかるっち」かわいさ人気?1 → http://www.n-sisters.com/
------------------------------------------------------------------------
大金様へ:
同じ物体を何度も追加・削除する場合は、SharedGroupを用いることで、
メモリーの無駄使いをずいぶんと押さえられるはずです。
しかも、処理も早くなるようです・・・
使い方は、まずSharedGroupを一つ作り、
そのなかにaddChildメソッドによって何度も追加したい物体をひとつだけ加えます。
で、元のプログラムの中で物体を追加するためのaddChildメソッドにて、
物体の代わりにLinkメソッドを用いてコピーへと参照させます。
簡単な例を示しますと、
元)
TransformGroup trans = new TransformGroup();
trans.addChild(new Box()); これを何度も繰り返すとする
新)
SharedGroup shared = new SharedGroup();
shared.addChild(new Box());
TransformGroup trans = new TransformGroup();
trans.addChild(new Link(shared)); これを何度も繰り返す
こうすることで、メモリー上には物体がひとつだけで、
それを参照するだけになるので効率が良くなるようです。
ちなみに、同じTransformGroupでなく別のGroupからLinkで参照させても
うまく行くので、別の場所に同じ物体をたくさん配置する場合は便利です。
ちょっとわかりにくくなってしまい、すいません。
==============================
Name : Teruhisa Abe(阿部 晃久)
E-mail : teru-abe@xxxxxxxxxx
ICQ : 53229326
==============================