Performance Guidance
Tune surfaces, previews, and scene chrome based on how the chart is used. A large interactive scene chart has different constraints than a small dashboard thumbnail.
Area | Guidance |
|---|---|
Surface resolution | Tune SurfacePlotMark.Resolution or the theme's 3D surface resolution. Higher values add vertices and triangles; use lower resolution for small UI outputs. |
Point clouds | Prefer instanced PointMark3D or Scatter3DMark symbols. Keep symbol sizes and custom meshes reasonable. |
Scene chrome | Disable axes, labels, shadow plane, or environment for small tiles and high-frequency previews. |
Snapshots | Use RenderTo for an existing RenderTexture without CPU readback, Capture for a host-faithful still, and EncodeToPng when PNG bytes are required. |
UI refresh | Keep Refresh Hz at zero for change-driven output. Use periodic refresh only for unannounced time-dependent content, and avoid oversized textures or high supersampling on small tiles. |
Snapshot and UI Performance
Each UI output owns a private offscreen view and redraws on relevant changes. Reuse the output instead of constructing a snapshot every frame. Reserve CPU readback and PNG encoding for deliberate exports.
- Choose render resolution near the displayed pixel size and keep supersampling within the needed quality. Invalidate after external changes that do not notify the chart; manual timing also needs an explicit Refresh call.
Sample Tracks
Start with Examples/00_Entry/Chart Guru 3D Showcase. The tracks 01_ChartTypes, 02_DataAndInteraction, 03_StyleAndMotion and 04_Workflows cover spatial marks, data sources, interaction, materials, motion and outputs. Charts are saved definitions that can be inspected before Play Mode.
Open 04_Workflows/Swift Charts 3D Import to compare imported live charts with their native reference renders and inspect the Swift and generated C#. The production examples Terrain Survey, Sound Spectrogram and Charts in a Game World combine spatial charts with real datasets or stated simulation inputs.