THotPDF.RenderLoadedPagesParallel Method
Pipeliner visningsliste-kompilering og -avspilling over avgrensede arbeidere samtidig som innmatingsrekkefølgen bevares i utdatamatrisen
Erklæring
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;
Virkemåte
Kompilering kjører utenfor visningsliste-cache-låsen, så ikke-relaterte sider kan kompilere samtidig, og den første klare siden kan begynne å rendere før hele innsettingssettet er kompilert
Planleggeren balanserer dynamisk kompilerings- og avspillingsarbeid, avgrenser arbeidere til MaxConcurrency, isolerer renderertilstand per arbeider og deler cacheoppføringer gjennom beskyttede brukstall
Når PeakMemorySchedulerEnabled er sant, reduseres det effektive arbeiderantallet fra den normaliserte forespørselen ved hjelp av det største sideestimatet og det tilgjengelige globale budsjettet, og deretter holder hver krevde side sin egen rimelige minnereservasjon gjennom kompilering og avspilling
Overloadingen med Info rapporterer forespurte og effektive arbeidere, den minneavledede arbeidergrensen, side-reservasjonsestimater, topp reservert renderbyte, planleggeropptak, forsinkede sider, ventetid, kompilerings- og cache-trefftellinger, fullført utdata, topp-trinns samtidighet, førsteresultat-latens, totalt gått tid og antall sider kompilert når det første bitmapet ble fullført
Kalleren eier hvert ikke-null bitmap i Bitmaps
Fullførte matriseresultater forblir kallereid etter at deres pågående reservasjoner er frigjort, så bruk RenderLoadedPagesParallelOrdered når hele utdatasettet selv må forbli innenfor planleggerbudsjettet
THPDFParallelRenderPipelineInfo · Display Lists and Print Production