設定項目とパフォーマンスチューニング

MMD AR Viewer v1.0.1以降、パフォーマンスに関わる下記の設定項目が導入されました

  • Fast Render Modeチェックボックス
  • Preview Resolution選択

上記項目の説明とその効果について解説します。

Fast Render Modeについて

CGを描画する際に、VBO(Vertex Buffer Object)という手法を使用します。 開発に使用した端末以外での動作に確証が持てなかったため、チェックボックスでOn/Offを切り替え可能にしていますが、基本はOnで問題ないはずです。

Preview Resolution選択

CGの背景に表示するカメラプレビュー画面(実写画像)の解像度を設定します。プレビュー解像度が高ければ高いほど画像が鮮明になりますが、一方でメモリを大量に消費します。

パフォーマンスへの影響

これらの設定により、パフォーマンスがどのように変化するのかを確認してみました。

検証条件

  • 端末:Eee Pad Transformer TF101
  • OS: Android 3.2
  • プロセッサ: Tegra2

端末を固定した状態でマーカーを撮影し、CGが描画され続けることを確認した上で5分間放置し、ログを取得しました。 ログ取得結果より描画速度とJavaヒープメモリ量の中央値を割り出し、グラフ化。

検証結果

Fast Render ModeのOn/Off

プレビュー解像度640x480でFast Render ModeをOnにした場合とOffにした場合での、描画速度(FPS)およびJavaヒープメモリ消費量の比較を示します。

graph01.png

graph02.png

結論としては

  • Fast Render ModeをOnにすると描画速度が約1.8倍向上する
  • Fast Render Modeはメモリ消費量にはあまり影響しない

となりました。

Preview Resolution選択

Fast Render ModeをOnにした状態で下記のプレビュー解像度を使用した場合の描画速度(FPS)およびJavaヒープメモリ消費量を示します。

graph03.png

graph04.png

結論としては

  • Preview解像度に比例して、描画速度はやや低下する
  • Preview解像度に比例して、メモリ消費量が大幅に上昇する

となりました。画面の品質とメモリ消費量を秤にかけた上で、ご仕様の端末での最適な条件を見つけ出してください。 個人的には、TF101を使用する場合640x480ぐらいの解像度が一番適切じゃないかと思います。

まとめ

おそらく、端末ごとに最適な設定にはかなりの違いが有ると思われます。 適切な設定を使用することで、より快適にMMD AR Viewerをお楽しみください。