Class MachineProfile
Computes the default tiled-renderer resource budgets for a PerformanceProfile, including the hardware-derived Auto tier. All members are deterministic given the (cores, RAM) inputs, so the tier mapping is unit-testable without touching the real machine.
public static class MachineProfile
- Inheritance
-
MachineProfile
- Inherited Members
Methods
AvailableRamGb()
Total available RAM in GB (cross-platform; reflects a container/VM cap).
public static double AvailableRamGb()
Returns
Resolve(PerformanceProfile)
Resolves profile against the live host's cores + RAM.
public static PerformanceProfile Resolve(PerformanceProfile profile)
Parameters
profilePerformanceProfile
Returns
Resolve(PerformanceProfile, int, double)
Resolves Auto to a concrete tier from the supplied core count and available RAM. The explicit tiers pass through. LowEnd: ≤4 cores or ≤8 GB; Balanced: ≤8 cores or ≤16 GB; else HighEnd.
public static PerformanceProfile Resolve(PerformanceProfile profile, int cores, double ramGb)
Parameters
profilePerformanceProfilecoresintramGbdouble
Returns
SkiaGpuResourceMb(PerformanceProfile)
Host GPU resource-cache budget, MB, for each resolved tier (see SkiaGpuResourceMb).
public static double SkiaGpuResourceMb(PerformanceProfile tier)
Parameters
tierPerformanceProfile
Returns
TileBudgetMb(PerformanceProfile)
Per-layer hot (CPU) tile-cache budget, MB, for each resolved tier.
public static double TileBudgetMb(PerformanceProfile tier)
Parameters
tierPerformanceProfile
Returns
TileDiskMb(PerformanceProfile)
Shared warm disk-cache budget, MB, for each resolved tier.
public static double TileDiskMb(PerformanceProfile tier)
Parameters
tierPerformanceProfile
Returns
TileGpuBudgetMb(PerformanceProfile)
Per-layer GPU-residency budget, MB, for each resolved tier.
public static double TileGpuBudgetMb(PerformanceProfile tier)
Parameters
tierPerformanceProfile
Returns
TileWorkers(PerformanceProfile)
Number of concurrent tile-rasterisation workers per layer for each tier, derived from the live host's logical-core count.
public static int TileWorkers(PerformanceProfile tier)
Parameters
tierPerformanceProfile
Returns
TileWorkers(PerformanceProfile, int)
Number of concurrent tile-rasterisation workers per layer for
tier, given cores logical cores.
LowEnd stays at the original single worker so constrained hosts are never
over-subscribed; Balanced gets two; HighEnd scales with cores (one worker
per ~4 cores) and is clamped to MaxTileWorkers.
A pan that exposes ~14–48 cold tiles is otherwise drained serially by a
single worker, so parallelism cuts the cold-tile queue wait roughly
proportionally on multi-core hosts.
public static int TileWorkers(PerformanceProfile tier, int cores)
Parameters
tierPerformanceProfilecoresint