Skip to content

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.