シーンのパフォーマンスに対するベスト プラクティス

シーンのパフォーマンスが優れていると、組織や一般ユーザーなどに対して、作成者が意図した方法で最も大きな影響を与えられるようにシーンの体験を提供できます。 レイヤーの読み込みが遅い、ナビゲーション動作がスムーズでない、全体的に動作が遅いなどといったシーンのパフォーマンスの低下が見られる場合に、参考にできる情報を使用してシーンを最適化できます。 シーンのパフォーマンスの最適化は、次のカテゴリに分類できます。

  • ブラウザーとハードウェアの設定
  • シーンの表示
  • シーンの作成
  • シーンのコンテンツの作成

ブラウザーとハードウェアの設定

一般に、使用するコンピューターのブラウザー タブは CPU および GPU メモリの使用で競合し、各ブラウザーはこれらのリソースの管理を別々に処理します。 Scene Viewer の他のブラウザー タブを閉じて、他の 3D やメモリを大量に消費するアプリを終了します。 これにより、コンピューターのメモリ リソースの使用が大幅に低下します。 また、Scene Viewer で最適なパフォーマンスを維持するために、ハードウェアとブラウザーが最新のScene Viewer の要件を満たしていることを確認します。

シーンの表示

以下の提案に従うと、ナビゲーションや影の調整など、シーンを表示する際のパフォーマンスを向上させることができます。

  • パフォーマンスまたは品質 - [パフォーマンス]設定を調整すると、大幅にメモリ リソースの使用が減り、レンダリング パフォーマンスが向上し、安定性が高まります。
  • ナビゲーション - シーンのナビゲーション時は、カメラ角度がパフォーマンスに影響します。 水平線が表示されるフラットなカメラ角度は、メモリ リソースに影響する可能性があります。 この角度では、Scene Viewer はカメラと水平線の間にあるすべてのオブジェクトを読み込んでレンダリングする必要があります。 この角度が必要ない場合は、シーンの上面に近いカメラ角度を維持することをお勧めします。 さらに、シーンの読み込み時にマウスを動かさないでおくと、Scene Viewer がシーンをレンダリングする回数が少なくなります。
  • レイヤーの表示設定 - どのビューでも必要なレイヤーのみをオンにすることをお勧めします。 これを行うと、Scene Viewer は必要なレイヤーのみをレンダリングするため、パフォーマンスが向上します。 また、遠い距離を縮小して、3D シンボルを表示できないときは、3D シンボル化レイヤーおよび標高レイヤーをオフにします。
  • 影 - シーンにが必要ない場合はオフにします。 影はメモリ使用率が高く、たとえば、数千の建物のあるシーンで影がレンダリングされると、パフォーマンスが大幅に低下する可能性があります。

シーンの作成

シーンを作成するとき、表示可能なレイヤーの数、シンボルのタイプ、スライド構成など、シーンの特性が大きな影響を与える可能性があります。

表示レイヤーの数

Scene Viewer では、シーンの各レイヤーに対するメモリが制限されています。 表示レイヤーの数を減らすことで、読み込み時に各レイヤーにメモリ リソースが割り当てられる際の CPU および GPU のオーバーヘッドが最小化されます。 シーンのレイヤー数を 10 個以内に制限することをお勧めします。 エリアをカバーするレイヤーがそれより多い場合は、多くのレイヤーを持つシーンを 1 つ作成するのではなく、少ないレイヤーを持つシーンを複数作成することをお勧めします。 ジオメトリ タイプが同じレイヤーが複数ある場合 (3D オブジェクト シーン レイヤーなど) は、複数のレイヤーを 1 つの 3D オブジェクト シーン レイヤーに結合させる方法もあります。 詳細については、後述の「シーンのコンテンツの作成」セクションをご参照ください。

レイヤーのシンボル

レイヤー シンボルがシーンのパフォーマンスに大きな影響を与える場合があります。 シーン内のフィーチャ数に加えて、フィーチャ シンボルの複雑さ (ジオメトリ フェイスとエッジの数) がレンダリング速度に直接影響を与えます。 たとえば、シンボル内に多くのフェイスとエッジを持つ 20 ~ 30 個のフィーチャは、シンボルのフェイスとエッジの数がそれより少ない 100 個のフィーチャとレンダリングにおける影響が同じになります。 シーンのレンダリング速度が遅いときは、シンボルを変更することが有効な場合もあります。

  • 単純で主題的な 3D ポイント シンボル - フェイス数の少ない単純で主題的な 3D シンボルを使用して、レンダリングのパフォーマンスを改善します。 さらに、各シンボルにレンダリング リソースが割り当てられるため、シーンに存在するシンボル タイプ数が少ないほど、レンダリングのパフォーマンスが低下しません。 経験則から、個別のシンボル タイプ数を数十個より少なくすることをお勧めします。
  • 2D シンボル - 2D シンボルは 3D オブジェクトほど複雑ではなく、レンダリングがより容易です。 2D のポイント シンボルライン スタイル、およびポリゴン スタイルでは、3D のオブジェクト、パス、立ち上げよりもレンダリング時に必要な計算が少なくて済みます。
  • 標高モード - データに Z 値がある場合、レイヤーを [絶対高度] に設定します。
  • ラベル - シーン内に数百のポイントがある場合、ラベルをオフにして、メモリ消費を軽減し、レンダリング パフォーマンスを改善して、シーンの動作をスムーズにします。
  • 重なりの回避 - [重なりの回避] をオンにして、重なっているポイント レイヤーを削除することで、Scene Viewer で必要となるフィーチャ数と計算を軽減します。

シーン プロパティ

次のシーン プロパティを設定することで、パフォーマンスを改善できます。 初期のビューと標高はシーンのパフォーマンスに大きな影響を与えます。

  • 標高 - シーンがグローバルな縮尺である場合、上面のカメラ角度を使用する場合、または屋内のシーンを作成する場合は、地形標高を無効にします。 一般的に、テレインのコンテキストが、地上のシーンなどのシーンにとって重要ではない場合、標高を削除できます。
  • [初期表示] - 地表からより遠いカメラおよび上面のカメラ角度以上で初期表示を保存します。 これにより、シーンを読み込むときに、地表のジオメトリと標高の配列の計算が軽減されます。
  • 指定範囲にクリップ - ローカル シーンで、プロジェクト領域の範囲にシーンをクリップします。 シーン内の地表とシンボルの数が少ないほど、必要な計算が少なくなるため、レンダリングのパフォーマンスが向上します。

スライド

上記の提案は、スライドをキャプチャするときにも当てはまります。 カメラ角度、レイヤーの表示設定、および標高の変更を次のように調整すると、シーンのパフォーマンスを改善できます。

  • カメラ角度 - スライドをキャプチャするときのカメラ角度を調整することは、パフォーマンスに大きな影響があります。 詳細については、上記の「ナビゲーション」をご参照ください。
  • レイヤーの表示設定 - 複数のレイヤーが重複していたり、現在のスライド ビューで特定のレイヤーが不要であったりする場合は、スライドをキャプチャする際に不要なレイヤーをオフにします。 詳細については、上記の「レイヤーの表示設定」をご参照ください。
  • 標高 - スライドで地形標高が不要な場合は、これをオフにして、リソースを節約します。 スライド ビューで 3D メッシュ シーン レイヤーが標高を完全に隠す場合も標高は不要となります。

シーンのコンテンツの作成

ArcGIS Pro でソース データを直接変更し、レイヤーを再公開することで、シーンのパフォーマンスに影響を与えることができます。 ArcGIS Pro でシーン内のレイヤーの数を減らし、レイヤーを簡素化することで、メモリ消費を最小限に抑え、描画パフォーマンスを改善します。

レイヤーの数

ジオメトリ タイプが同じで、同じ位置にあるレイヤーが数多くある場合、これらのレイヤーを 1 つに結合することでパフォーマンスが改善されます。 10 個より多いレイヤーがある場合、これを実行することをお勧めします。 ArcGIS Pro を使用して、ソース GIS レイヤーを 1 つまたは数個のレイヤーに結合します。 次に、レイヤーを ArcGIS Online または ArcGIS Enterprise で再び共有します。 以下を考えてみます。

  • レイヤーの結合 - すべてのフィーチャのジオメトリ タイプが同じ場合に、複数のシーン レイヤーまたはフィーチャ レイヤーを 1 つのレイヤーに結合します。 3D オブジェクト シーン レイヤーがある場合、ArcGIS Pro でソース マルチパッチ フィーチャクラス データセットを編集します。 複数のフィーチャを 1 つのレイヤーにマージするには、ArcGIS Proフィーチャをコピーして貼り付けます。 さらに、1 つのレイヤーは 1 つのレイヤーのまま維持し、複数のレイヤーに分割しないことで、最適なパフォーマンスを維持することをお勧めします。
  • タイル レイヤーのマージ - 多くのタイル レイヤーが 1 つのエリアをカバーしている場合 (画像レイヤーなど)、ArcGIS Proタイル レイヤーを 1 つのレイヤーにマージできます。

レイヤーの複雑さ

次のようにフィーチャを簡素化することで、レイヤーのメモリ フットプリントを最小限に抑え、レイヤーの読み込みと描画のパフォーマンスを改善することができます。