TiffAutoDecodeBudget class

Picks a (maxBytesPerChunk, workerCount) pair for TiffParallelDecoder.decodeBanded sized to both metadata and the machine actually running it — the pairing TiffChunkPlan and TiffChunkPlan.recommendedWorkerCount need a caller to already know (see their own doc comments on why neither reads OS/CPU state itself). Without this, a caller either hardcodes a number that's far too small for a big multi-core machine with memory to spare, or far too large for a small one — recommend instead reads what's actually idle right now (SystemMemoryInfo.probe, Platform.numberOfProcessors) and sizes to that, per call, so the same code adapts to whatever machine it runs on and however loaded it is at the time.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

recommend(TiffImageMetadata metadata, {double systemMemoryFraction = 0.55, double reserveFraction = 0.12, int reserveBytes = 768 * 1024 * 1024, double doubleBufferSafetyFactor = 1.5, int reservedCores = 1, int fallbackAggregateBytes = 512 * 1024 * 1024, int minAggregateBytes = 64 * 1024 * 1024, int maxAggregateBytes = 6144 * 1024 * 1024, int minBytesPerChunk = 16 * 1024 * 1024}) → ({int maxBytesPerChunk, int workerCount})
Recommends chunk/worker sizing for decoding metadata in parallel.