• 検索結果がありません。

評 価

ドキュメント内 橡新潟工科大卒研論文本文.PDF (ページ 53-66)

4.2  2 つの手法による顔の色の変更

Java3D

では,シーングラフに存在する物体を表示する.それより,物体の内容の変更

を行う方法として次の

2

つを考えた.

1.あらかじめ変更する物体のオブジェクトを生成しておき,ボタンを押したときにそのシ

ーングラフにぶら下げられているオブジェクトを変更したい物体のオブジェクトにつなぎ なおす方法

(以後,この方式をセレクト型と書く)

2.ボタンを押すまでオブジェクトの生成は行わず,変更のボタンを押された時点で新たに

その物体のオブジェクトを作り直して表示する方法

(以後,この方式をクリエイト型と書く)

1

のセレクト型の場合,表示したい物体をあらかじめオブジェクト生成して置きつなげ 直すだけという方式であるため,ボタンを押して物体の表示を変える際の処理は速いが,

メモリを多く使用することが予想される.

一方

2

のクリエイト型の場合,表示するたびにオブジェクトのの生成を行うために,メ モリの使用率を低く押さえられるが,ボタンを押した際の処理に時間がかかると考えられ る.

4.3 プログラムの起動時間とボタンを押した時の処理時間の計測

4.3.1 Java D 1.1 ,JavaVM , メインメモリ 64M バイトでの測定

 4.2 で説明したプログラムに起動時間とボタンを押したときの時間を測るために,時間 を測るコマンドを入れて,起動時間と処理の時間を測定した.

下に,起動時間を含めた処理時間のグラフと,処理時間のみのグラフを示す.

図-4.3.1 起動時間と処理時間の比較

図-4.3.2 (図

4.2.1)の処理時間のみを表したグラフ

0

2000 4000 6000 8000 10000 12000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55

回数(回)

時間(msec)

クリエイト型 セレクト型

0 200 400 600 800 1000 1200

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

回数( 回)

時間 (msec)

クリエイト型 セレクト型

 図

4.3.1

より,クリエイト型の方が起動時間は平均で約

1100msec

速くなっている.こ れはクリエイト型ではボタンを押すまで顔のオブジェクトを作成しないため,起動時に顔 の数だけオブジェクトを生成するセレクト型より速くなったと思われる.

また,クリエイト型は

1

回目の実行の際に初めて顔のオブジェクトを生成するため,平 均で

979msec

となり,セレクト型の

165msec

と比較して約

1/5

になった.

それ以降の回の測定でも,ボタンを押すたびにオブジェクト生成を行うクリエイト方は セレクト型に比べて全体的に処理に時間がかかっている.

 また,両方の型で,特定の回数で処理時間が多くかかるところが見られた.これは1つ の予想として,この回のタイミングでガーベッジコレクションが働いたと考えられる.

4.3.2 Java D 1.1 ,JavaVM , でメモリを増やした場合の測定

 現在のまで行った環境である

64Mバイトのメインメモリを増やして計測を行うとどう

変わるかをメモリ以外同じ環境で測定を行った.

結果をメモリが

96M

バイトの場合、160Mバイトの場合それぞれ下に示す。

図-4.3.3 メモリ

96M

バイト時の起動時間と処理時間

図-4.3.4 メモリ

96M

バイト時の処理時間

0 2000 4000 6000 8000 10000 12000 14000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55

回数( 回)

時間( msec)

クリエイト型 セレクト型

0 200 400 600 800 1000 1200 1400

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

回数( 回)

時間( msec)

クリエイト型 セレクト型

図-4.3.5 メモリ

160M

バイト時の起動時間と処理時間

図-4.3.6 メモリ

160M

バイト時の処理時間 0

2000 4000 6000 8000 10000 12000 14000

1 5 9 13 17 21 25 29 33 37 41 45 49 53

実行回数(回)

起動時間( msec)

クリエイト型 セレクト型

0 200 400 600 800 1000 1200

2 6 10 14 18 22 26 30 34 38 42 46 50 54

実行回数( 回)

起動時間 (msec)

クリエイト型 セレクト型

 メインメモリを増やしての計測の結果,メモリを増やしても速度は速くならなかった.

これは,JavaVM の使用できるメモリの最大値がデフォルトで

64M

となっているため,

それを越えるメモリを増やしても使用されないためと思われる.

4.3.3 Java D 1.1 HotSpot を使用した場合 の測 定

 ここで,特定の回数で処理が多くなったことの原因として考えられるガーベッジコレク ションを効率よく行わせて処理をスムーズにするために,JavaVM として

HotSpot(Java HotSpot Performance Engin)を使用して測定を行うことにする. HotSpot

は高速化のため の機構特徴を

3

つ持ち,1つ目は

Java2

に含まれている標準の

JavaVM

よりも高速かつ 効率的なガーベッジコレクト機能をサポートしている.2 つ目は,プログラムの実行時に そのボトルネックを検出し,ネーティブ・コンパイルを実行する.3 つ目は,大容量のメモ リ空間やマルチプロセッサを有効に使うためのスレッド・チューニングの機能を備えてい る.

 以下に

HotSpot

を使用した場合の測定結果をメモリの量が異なる場合で分けて示す.

図-4.3.7 メモリ

96M

バイト時

HotSpot

使用した場合の起動時間と処理時間

図-4.3.8 メモリ

96M

バイト時

HotSpot

使用した場合の処理時間 0

2000 4000 6000 8000 10000 12000 14000 16000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55

実行回数(回)

時間( msec)

クリエイト型 セレクト型

0 2000 4000 6000 8000 10000 12000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

実行回数( 回)

時間( msec)

クリエイト型 セレクト型

図-4.3.9 メモリ

160M

バイト時

HotSpot

使用した場合の起動時間と処理時間

図-4.3.10 メモリ

160M

バイト時

HotSpot

使用した場合の処理時間

0 2000 4000 6000 8000 10000 12000 14000 16000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

実行回数(回)

起動時間( msec)

クリエイト型 セレクト型

0 2000 4000 6000 8000 10000 12000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

実行回数(回)

起動時間( msec)

クリエイト型 セレクト型

図-4.3.7~10より

HotSpot

を使用した結果,全体的に処理の時間が遅くなり,また,特 定の回数で処理時間が以上に大きくなるところが発生した.

これは,

HotSpot

によってガーベッジコレクションのタイミングが変わったが,

HotSpot

はサーバ・プログラムの性能向上に力点を置いた環境でありクライアント・サイドではその 能力を発揮できず,処理に時間がかかってしまった可能性が考えられる.

4.3.4 Java D 1.1.3 にした場合 の測定

 HotSpotを入れるにあたって,今まで使用していた

Java3D 1.1

の後にリリースされた

Java3D 1.1.1

以降では,高速化とメモリ消費量の削減がはかられているということがわか

り,その違いについて調べるため,最新版の

Java3D 1.1.3

を入れ,JavaVMを使用した

場合と

HotSpot

を使用した場合についてそれぞれ計測を行った.

 以下にその

2

種類の結果を示す.

図-4.3.11 メモリ

160M

バイト時

Java3D 1.1.3

にして

JavaVM

を使用した場合の起動時間と処理時間

図-4.3.12 メモリ

160M

バイト時

Java3D 1.1.3

にして

JavaVM

を使用した場合の処理時間

0 2000 4000 6000 8000 10000 12000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

実行回数(回)

起動時間 (msec)

クリエイト型 セレクト型

0 200 400 600 800 1000 1200

2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53

実行回数(回)

起動時間 (msec)

クリエイト型 セレクト型

図-4.3.13 メモリ

160M

バイト時

Java3D 1.1.3

にして

HotSpot

を使用した場合の起動時間と処理時間

図-4.3.14 メモリ

160M

バイト時

Java3D 1.1.3

にして

JavaVM

を使用した場合の処理時間

0 2000 4000 6000 8000 10000 12000 14000 16000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

実行回数(回)

起動時間 (msec)

クリエイト型 セレクト型

0 2000 4000 6000 8000 10000 12000

2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53

実行回数(回)

起動時間 (msec)

クリエイト型 セレクト型

4.3.11~14

より

Java3D 1.1.3

バージョンアップによる大きな変化は見られなかった.

ドキュメント内 橡新潟工科大卒研論文本文.PDF (ページ 53-66)

関連したドキュメント