场景性能的最佳实践

良好的场景性能可以使观众(例如您的组织或公众)以您预期的方式体验场景并产生最强感受。 当您感到场景性能受到影响(例如,图层加载速度缓慢、导航时断时续或整体缓慢)时,您可以使用此处的信息作为指导,对场景进行优化。 场景性能优化可以分为以下类别:

  • 浏览器和硬件设置
  • 查看场景
  • 创作场景
  • 创建场景内容

浏览器和硬件设置

通常,浏览器选项卡会争夺计算机上的 CPU 和 GPU 内存,并且各个浏览器对这些资源的管理具有不同的处理方式。 关闭其他 Scene Viewer 浏览器选项卡并关闭任何其他 3D 或占用内存的应用程序。 这可以大大减少计算机上内存资源的使用。 此外,要使用 Scene Viewer 保持最佳性能,请验证您的硬件和浏览器是否满足最新 Scene Viewer 要求

查看场景

遵循以下建议(例如导航和阴影调整)可以改善查看场景时的性能。

  • 性能或质量 - 调整设置性能以显著减少内存资源使用、提高渲染性能并增加稳定性。
  • 导航 - 导航场景时,您可能会注意到照相机角度会对性能产生影响。 平面照相机角度(可以看到水平线的位置)可能会影响内存资源。 应用这些角度时,Scene Viewer 必须加载和渲染照相机与地平线之间的所有对象。 如果您无需这些角度,它则有助于使照相机角度接近场景的顶视图。 此外,当您的场景加载时保持鼠标静止不动可以减少 Scene Viewer 必须渲染场景的次数。
  • 图层可见性 - 在任何给定的视图中仅打开所需图层是一种很好的做法。 执行此操作时可提升性能,因为 Scene Viewer 此时仅渲染所需图层。 此外,请在远距离缩小和无法看到 3D 符号时关闭 3D 符号化图层和高程图层。
  • 阴影 - 当场景中不需要阴影时,将其关闭。 阴影会占用大量内存,例如,包含数千个建筑物的场景在渲染阴影时,性能可能会显著降低。

创作场景

在创作场景时,场景特性(如可见图层的数量、符号系统的类型和幻灯片组成)可能会产生重大影响。

可见图层的数量

Scene Viewer 用于场景中每个图层的内存有限。 减少可见图层的数量可以最大限度减少 CPU 和 GPU 的消耗,因为在加载期间每个图层都分配了内存资源。 最好将场景中的图层数限制为十几个或更少。 如果覆盖某区域的图层不止十几个,则最好使用较少图层来创建多个场景,而不是使用多个图层创建一个场景。 如果您有多个几何类型相同的图层(如 3D 对象场景图层),另一种选择是将多个图层组合为一个 3D 对象场景图层。 有关详细信息,请参阅以下创建场景内容部分。

图层符号系统

图层符号系统可以对场景性能产生重大影响。 要素符号的复杂性(几何面和边的数量)与场景中的要素数相组合会直接影响渲染速度。 例如,符号中具有许多面和边的几十个要素与符号较为简单的一百个要素可能会对渲染有相同的影响。 如果您发现场景渲染缓慢,则可能需要更改符号系统。

  • 简单和专题 3D 点符号 - 使用简单和专题 3D 符号通过减少面数来提高渲染性能。 此外,每个符号都分配了渲染资源,因此场景中出现的不同符号类型越少,渲染受影响的可能性就越小。 最好将唯一符号类型的数量限制为几十个甚至更少。
  • 2D 符号系统 - 2D 符号并不复杂,因此比 3D 对象更容易渲染。 与 3D 对象、路径和拉伸相比,2D 点符号线样式面样式在渲染期间所需的计算量更少。
  • 高程模式 - 当您的数据具有 z 值时,将图层设置为绝对高度
  • 标注 - 当场景中具有几百上千个点时关闭标注可减少内存消耗并有助于提升渲染性能并改善场景的时断时续情况。
  • 清理 - 打开清理可移除重叠点图层,以减少 Scene Viewer 所需的要素数量和计算量。

场景属性

您可以设置以下场景属性来提高性能。 初始视图和高程严重影响场景性能。

  • 高程 - 当您具有全局比例的场景;当使用顶视图照相机角度时;或创作室内场景时,请禁用地形高程。 一般情况下,如果地形的上下文对于场景不重要,例如高于地面的场景,则可以移除高程。
  • 初始视图 - 保存使用远离地面的照相机以及更多顶视图照相机角度获得的初始视图。 这会减少加载场景时地面几何图形和高程对齐的计算。
  • 剪裁到范围 - 在本地场景中,剪裁场景到您的项目区域范围内。 减少场景中的地面和符号,从而提升渲染性能并减少所需计算量。

幻灯片

以上建议同样适合在捕获幻灯片时使用。 可通过更改照相机角度、图层可见性和高程等调整操作来提升场景性能,如下所示:

  • 照相机角度 - 在捕获幻灯片时调整照相机角度可对性能产生重大影响。 有关其他信息,请参阅上方的导航
  • 图层可见性 - 当多个图层重叠或当前幻灯片视图中不需要某些图层时,请在捕获幻灯片时关闭不必要的图层。 有关其他信息,请参阅上方的图层可见性
  • 高程 - 当幻灯片中不需要地形高程时,请将其关闭以节省资源。 另一个不需要高程的示例是当集成网格场景图层完全覆盖幻灯片视图中的高程时,

创建场景内容

您可以通过直接修改 ArcGIS Pro 中的源数据并重新发布图层来影响场景性能。 减少场景中的图层数量并使用 ArcGIS Pro 简化图层的复杂性将最大限度减少内存消耗并提高绘制性能。

图层数

如果几何类型相同的多个图层位于同一位置,则可以通过将多个图层合并为一个图层来提高性能。 这是一种很不错的方法,当您不止具有十几个图层时。 使用 ArcGIS Pro 将源 GIS 图层合并成一个图层或较少图层。 然后再次将图层共享给 ArcGIS OnlineArcGIS Enterprise。 请考虑以下方法:

  • 合并图层 - 当所有要素具有相同的几何类型时,将多个场景或要素图层合并到一个图层中。 当您具有 3D 对象场景图层时,请编辑 ArcGIS Pro 中的源多面体要素类数据集。 要将这些要素合并到一个图层中,您可以在 ArcGIS Pro复制和粘贴要素。 此外,最好将图层保留为单个图层,并避免将图层分割为多个图层以保持最佳性能。
  • 合并切片图层 - 当您有多个覆盖某一区域的切片图层(例如影像图层)时,您可以在 ArcGIS Pro将多个切片图层合并为一个图层。

图层的复杂性

您可以通过降低要素的复杂性来最大限度地降低图层的内存占用并提高图层的加载和绘制性能,如下所示: