THotPDF.RenderLoadedPagesParallel Method
Kører kompilering og afspilning af display-listen i pipeline over afgrænsede workers og bevarer inputrækkefølgen i output-arrayet
Deklaration
function RenderLoadedPagesParallel(const PageIndices: array of Integer;
DPI, MaxConcurrency: Integer; out Bitmaps: THPDFBitmapArray): Integer; overload;
function RenderLoadedPagesParallel(const PageIndices: array of Integer;
DPI, MaxConcurrency: Integer; out Bitmaps: THPDFBitmapArray;
out Info: THPDFParallelRenderPipelineInfo): Integer; overload;
Adfærd
Kompileringen foregår uden for display-list-cachens lås, så urelaterede sider kan kompileres samtidigt, og den første færdige side kan begynde at blive renderet, før hele inputsættet er kompileret
The scheduler dynamically balances compile and playback work, caps workers at MaxConcurrency, isolates renderer state per worker, and shares cache entries through protected use counts
Når PeakMemorySchedulerEnabled er true, reduceres det effektive antal workers ud fra den normaliserede anmodning med udgangspunkt i det største sideestimat og det aktuelt tilgængelige globale budget, og derefter holder hver tildelt side sin egen fair hukommelsesreservation gennem kompilering og afspilning
Overloaden med Info rapporterer anmodede og effektive workers, den hukommelsesbestemte workergrænse, estimater for sidereservationer, maksimalt reserveret renderbytes, scheduler-admissions, forsinkede sider, ventetid, antal kompileringer og cache-hits, færdigt output, spidsbelastning af samtidige faser, latenstid til første resultat, samlet forløbet tid og antallet af sider, der var kompileret, da det første bitmap blev færdigt
The caller owns every non-nil bitmap in Bitmaps
Færdige array-resultater forbliver ejet af kalderen, efter at deres igangværende reservationer er frigivet, så brug RenderLoadedPagesParallelOrdered, når selve det samlede outputsæt skal blive inden for schedulerens budget
THPDFParallelRenderPipelineInfo · Display Lists and Print Production