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