Good scene performance enables your audience, such as your organization or the public, to experience your scenes the way you intended and with the most impact. You can optimize your scenes using the information here as a guide in the event you see compromised scene performance, such as slow layer loading, stuttering when navigating, or overall slowness. Scene performance optimization can be broken down into the following categories:
- Browser and hardware settings
- Viewing scenes
- Authoring scenes
- Creating scene content
Browser and hardware settings
In general, browser tabs compete for CPU and GPU memory on your machine, and each browser handles the management of these resources differently. Close other Scene Viewer browser tabs and shut down any other 3D or memory-intensive apps. This can greatly reduce memory resource use on your computer. In addition, to maintain the best performance with Scene Viewer, verify your hardware and browser meet the latest Scene Viewer requirements.
Following the suggestions below, such as navigation and shadows adjustments, can improve performance when viewing scenes.
- Performance or quality—Adjust settings to Performance to significantly decrease memory resource use, improve rendering performance, and increase stability.
- Navigation—When navigating scenes, you may notice the camera angle has an impact on performance. Flat camera angles—where you can see the horizon—can potentially impact memory resources. With these angles, Scene Viewer must load and render all the objects between the camera and the horizon. If you don't need these angles, it can help to keep the camera angle closer to the top-view of the scene. In addition, keeping your mouse still while your scene is loading reduces the number of times Scene Viewer must render the scene.
- Layer visibility—It is good practice to only turn on layers that you need in any given view. You improve performance when you do this because Scene Viewer renders only the needed layers. Also, turn off 3D symbolized layers and elevation layers when zoomed out at far distances and can't see the 3D symbols.
- Shadows—Turn off shadows when they aren't needed in your scene. Shadows are memory intensive, and a scene with thousands of buildings, for example, can drastically slow performance when shadows are rendered.
When authoring scenes, scene characteristics, such as number of visible layers, type of symbology, and slide composition can have a significant effect.
Number of visible layers
Scene Viewer has finite memory for each layer in a scene. Reducing the number of visible layers minimizes the CPU and GPU overhead as each layer is allocated memory resources during loading. It is a good idea to limit the number of layers in a scene to a dozen or less. If you have more than a dozen layers covering an area, it's best to create multiple scenes with fewer layers rather than one scene with many layers. Another option if you have multiple layers with the same geometry type, such as 3D object scene layer, is to combine the layers into one 3D object scene layer. See the Creating scene content section below for more information.
The layer symbology can have a major effect on scene performance. The complexity (number of geometry faces and edges) of the feature symbols combined with the number of features in the scene directly impact rendering speeds. For example, a couple dozen features with many faces and edges in their symbols can have the same rendering impact as a hundred features with less complex symbols. If you notice slow rendering in your scene, it may be worth changing the symbology.
- Simple and thematic 3D point symbols—Use simple and thematic 3D symbols with fewer faces to improve rendering performance. In addition, each symbol has rendering resources allocated so the fewer different symbol types present in the scene the less likely rendering is compromised. A good rule of thumb is to limit the number of unique symbol types to fewer than several dozen.
- 2D symbology—2D symbols are less complex and easier to render than 3D objects. 2D point symbols and lines and polygons requires less computations during rendering than 3D objects, paths, and extrusions.
- Elevation modes—Set the layer to Absolute height when your data has z-values.
- Labels—Turn off labels when there are hundreds of points in your scene to reduce memory consumption and help with rendering performance and scene stuttering.
- Declutter—Turn on Declutter to remove overlapping point layers, which reduces the number of features and calculations required by Scene Viewer.
You can set the following scene properties to improve performance. Initial views and elevation heavily impact scene performance.
- Elevation—Disable terrain elevation when you have scenes at global scale, when using a top-view camera angle, or when authoring indoor scenes. Generally, when the context of the terrain isn't important to your scene, such as scenes higher above the ground, you can remove the elevation.
- Initial view—Save the initial view with the camera further from the ground and with more of a top-view camera angle. This reduces calculations for the ground geometry and elevation alignment when loading the scene.
- Clip to extent—In local scenes, clip your scene to the extent of your project area. Less ground and fewer symbols in a scene result in better rendering performance with fewer calculations required.
The suggestions above also apply when you're capturing slides. Changing camera angles, layer visibility, and elevation are adjustments you can make to improve scene performance as follows:
- Camera angle—Adjusting the camera angle when capturing slides can have a significant impact on performance. See navigation above for additional information.
- Layer visibility—When multiple layers are overlapping or certain layers aren’t needed in the current slide view, turn off unnecessary layers when capturing slides. See layer visibility above for additional information.
- Elevation—When terrain elevation is not needed in a slide, turn it off to save resources. Another example when elevation isn't necessary is when an integrated mesh scene layer completely covers the elevation in the slide view.
Creating scene content
You can influence scene performance by modifying the source data directly in ArcGIS Pro and republishing the layers. Reducing the number of layers in a scene and simplifying the complexity of layers with ArcGIS Pro will minimize memory consumption and improve drawing performance.
Number of layers
When you have many layers collocated with the same geometry type, you can increase performance by combining the layers into one. This is a good rule to follow if you have more than a dozen layers. Use ArcGIS Pro to combine the source GIS layers into one layer or fewer layers. Then share the layer again to ArcGIS Online or ArcGIS Enterprise. Consider the following:
- Combine layers—Combine multiple scene or feature layers into one layer when all the features have the same geometry type. When you have 3D object scene layers, edit the source multipatch feature class dataset in ArcGIS Pro. To merge the features into one layer, you can copy and paste features in ArcGIS Pro. Furthermore, it is best to keep a layer as a single layer and avoid splitting it into several layers to maintain optimal performance.
- Merge tile layers—When you have many tile layers covering an area, such as imagery layers, you can merge tile layers in ArcGIS Pro into one layer.
Complexity of layers
You can minimize the memory footprint of layers and improve layer loading and drawing performance by reducing the complexity of the features as follows:
- Generalize—You can reduce the number of vertices by simplifying lines or simplifying polygons in ArcGIS Pro.
- Filter—Filter unnecessary features to reduce the number of features in a layer by creating query layers in ArcGIS Pro or applying filters in Map Viewer.
- Clip the data—Clipping the data to the location of the scene is another way to reduce memory consumption. You can clip features using another feature or clip tile layers in ArcGIS Pro.