THotPDF.RenderLoadedPagesParallel Method

Pijplijnt displaylijstcompilatie en -afspeel over begrensde werkers met behoud van invoervolgorde in de uitvoerarray

Declaratie

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;

Gedrag

Compilatie loopt buiten de displaylijst-cachelock, dus ongerelateerde pagina's kunnen gelijktijdig compileren en de eerst gereede pagina kan beginnen met renderen voordat de volledige invoerset is gecompileerd

De planner balanceert compileer- en afspeelwerk dynamisch, begrenst werkers op MaxConcurrency, isoleert renderertoestand per werker en deelt cache-invoeren via beschermde gebruiksteller

Wanneer PeakMemorySchedulerEnabled true is, wordt het effectieve aantal werkers verminderd vanuit het genormaliseerde verzoek met de grootste pagina-inschatting en het momenteel beschikbare globale budget, en houdt elke geclaimde pagina zijn eigen eerlijke geheugenreservering vast tijdens compilatie en afspelen

De overload met Info rapporteert opgevraagde en effectieve werkers, de door geheugen afgeleide workerlimiet, paginatoewijzingsinschattingen, piek gereserveerde renderbytes, planneradmissies, vertraagde pagina's, wachttijd, compileer- en cachehitaantallen, voltooide uitvoer, piekfas concurrentie, latentie van het eerste resultaat, totale verstreken tijd en het aantal gecompileerde pagina's toen de eerste bitmap voltooide

De aanroeper is eigenaar van elke niet-nil bitmap in Bitmaps

Voltooide arrayresultaten blijven in eigendom van de aanroeper nadat hun lopende reserveringen zijn vrijgegeven, dus gebruik RenderLoadedPagesParallelOrdered wanneer de volledige uitvoerset zelf binnen het plannerbudget moet blijven

THPDFParallelRenderPipelineInfo · Displaylijsten en drukwerkproductie