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