Table of Contents

Class MachineProfile

Namespace
EncDotNet.S100.Renderers.Mapsui
Assembly
EncDotNet.S100.Renderers.Mapsui.dll

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

double

Resolve(PerformanceProfile)

Resolves profile against the live host's cores + RAM.

public static PerformanceProfile Resolve(PerformanceProfile profile)

Parameters

profile PerformanceProfile

Returns

PerformanceProfile

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

profile PerformanceProfile
cores int
ramGb double

Returns

PerformanceProfile

SkiaGpuResourceMb(PerformanceProfile)

Host GPU resource-cache budget, MB, for each resolved tier (see SkiaGpuResourceMb).

public static double SkiaGpuResourceMb(PerformanceProfile tier)

Parameters

tier PerformanceProfile

Returns

double

TileBudgetMb(PerformanceProfile)

Per-layer hot (CPU) tile-cache budget, MB, for each resolved tier.

public static double TileBudgetMb(PerformanceProfile tier)

Parameters

tier PerformanceProfile

Returns

double

TileDiskMb(PerformanceProfile)

Shared warm disk-cache budget, MB, for each resolved tier.

public static double TileDiskMb(PerformanceProfile tier)

Parameters

tier PerformanceProfile

Returns

double

TileGpuBudgetMb(PerformanceProfile)

Per-layer GPU-residency budget, MB, for each resolved tier.

public static double TileGpuBudgetMb(PerformanceProfile tier)

Parameters

tier PerformanceProfile

Returns

double

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

tier PerformanceProfile

Returns

int

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

tier PerformanceProfile
cores int

Returns

int