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