API Reference · Diagnostics

SoftwareSettings

Namespace: Ava3D

public static class SoftwareSettings

Process-wide settings for the software renderer — the CPU path a view falls back to when it can have no GPU, and the one OfflineRenderer draws with.

Static because the software renderer is one implementation shared by every view in the process, and the one number here is a statement about the machine rather than about a scene: how much CPU a frame may spend before it is better to draw less and say so. A view-level property can wrap it later; today this is where it lives.

Properties

MemberDescription
static int TriangleBudget { get; set; }

How many triangles the live software renderer draws in one frame before it stops.

Every triangle costs managed CPU time, and a scene that runs at 120 fps on a GPU can take most of a second a frame here — so past the budget the remaining draw items are left out, and the frame says so: RenderInfo.SkippedTriangles and RenderInfo.SkippedItems carry the numbers, RenderInfo.Textures the sentence. The first item is always drawn, however large, so a single oversized mesh still shows rather than leaving the view empty — cut short at the budget rather than dropped.

Read at the start of every frame, so a change takes effect on the next one. Raise it on a machine with time to spare; lower it where the UI thread has to stay responsive. It does not apply to OfflineRenderer, which takes its own from OfflineRenderOptions.TriangleBudget.

Fields

MemberDescription
static int DefaultTriangleBudget

The triangle budget the software renderer ships with: 150,000 in a frame.

See also