デジタル青森の性能測定とモデルの軽量化

・背景

三次元GIS「デジタル青森」を使った青森市街の散策コース「あおもり街てく」(図1-1を示す)の紹介システムでは、三次元のマップ上に青森中心市街地の建物の三次元モデルを大量に作成して表示している。しかし、そのモデル中にはデータ量の大きい3Dモデルや適切ではない作りの3Dモデルが数多く含まれており、その影響でデジタル青森自体の動作が重くなっている。

現状の表示性能を調べ、モデルを改善し、より快適に使用できるようにする。

・性能測定

    測定方法について

デジタル青森のアニメーション機能を使って、一つの点を中心に円を描くように移動するアニメーション(カメラは中心を見たまま、一周30秒)を作り、その円の中に測定するモデルを配置する。GPU-Zにはログ機能もついているので、アニメーションを起動し、頂点数・テクスチャサイズを変更しながらパフォーマンスのパラメータを記録し、そのログを元にグラフを作成する。

    測定に使用したソフト

今回性能測定に使用した「GPU-Z はパソコンに搭載しているビデオカード(グラフィックカード)の情報を詳細に表示するソフトである。これを使用してデジタル青森を起動している際のGPUの変動を測定し、グラフ化した。


・グラフについて

GPU-Zのログを元に、横軸をアニメーションの実行時間、縦にGPUの負荷とメモリ使用量をプロットする。アニメーションの開始から終了までほぼ変化が見られないため、この結果を各項目で平均化し、結果をまとめて二次元でグラフ化した。

・「頂点数によるパフォーマンスの変動」

計測時、テクスチャは貼らず頂点数だけを増やして計測した。

青色の線がMemoryUsedGPUの負荷:左軸[MB])、オレンジ色の線がGPULoadGPUの負荷:右軸[%])、赤色がFPS1秒あたりの表示回数:右軸[fps])を示している。横軸の単位は個。

頂点数による変化の測定結果だが、Memory UsedGPULoadFPSいずれも頂点数200000個まではほぼ一定だが、200000220000個付近で急激に変化し、それ以上では実際の動作も非常に重くなった。

原因としては、軽快に処理できる量に限界があり、その限界を超える量のデータを処理したため動作が重くなったと考えられる。


・テクスチャ容量によるパフォーマンスの変動

計測時、頂点数が8個ある立方体にデータ量の異なるテクスチャを貼り、計測した。

横軸の単位はMB

 テクスチャによる変化の測定結果だが、頂点数の変化とは違い、FPSはまったく変動がなく、負荷を上げていくのに比例してMemoryUsedが上がっていった。そして、280MBを超えると下落することがわかった。

原因としては、処理できる量を超えるデータを処理したためと思われる。

GPU Load180MBで下落していることに関しては原因不明だが、頂点数による変化のグラフと見比べ、50%以下を維持している所を見ると、テクスチャ容量による変動においてはGPULoadはあまり影響していないと考えられる。


・モデルの軽量化

モデルの軽量化では、街てくのコースを中心にモデルのデータ量(頂点数・テクスチャサイズ)を調べ、不必要な点や線を削除することで軽量化・改善をした


・まとめ

「デジタル青森の性能測定」について、頂点数・テクスチャサイズのGPUへの負荷を調べ、グラフ化することかできた。これにより、デジタル青森のデータ量に対する性能を見積もり、限界値を推測できるようになった。


・考察

今回のデジタル青森の性能測定を経て、現在のデジタル青森のモデルは頂点数が多いことがわかり、頂点数の減らし方、なるべく頂点数を減らさずにモデルを作成する方法等、今回の測定結果から改善点を考えていきたい。また、テクスチャ容量のパフォーマンスへの影響は頂点数ほどではないものの、現在のモデルには無駄に大きい容量のテクスチャがあるため、その点も今回の測定結果から考えていきたい。




Comments