THotPDF.RenderLoadedPagesParallel Method
Zreťazí kompiláciu zoznamov zobrazenia a prehrávanie naprieč ohraničenými pracovníkmi pri zachovaní poradia vstupu vo výstupnom poli
Deklarácia
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;
Správanie
Kompilácia prebieha mimo zámku vyrovnávacej pamäte zoznamov zobrazenia, takže nesúvisiace stránky sa môžu kompilovať súbežne a prvá pripravená stránka môže začať vykresľovanie pred dokončením kompilácie celej vstupnej množiny
Plánovač dynamicky vyvažuje prácu kompilácie a prehrávania, obmedzuje pracovníkov na MaxConcurrency, izoluje stav vykresľovača pre každého pracovníka a zdieľa záznamy vyrovnávacej pamäte cez chránené počty použití
Keď je PeakMemorySchedulerEnabled true, efektívny počet pracovníkov sa zníži z normalizovanej požiadavky pomocou najväčšieho odhadu stránky a aktuálne dostupného globálneho rozpočtu, potom každá nárokovaná stránka drží vlastnú spravodlivú rezerváciu pamäte počas kompilácie a prehrávania
Preťaženie s Info hlási požadovaných a efektívnych pracovníkov, limit pracovníkov odvodený z pamäte, odhady rezervácií stránok, špičkové rezervované bajty vykreslenia, prijatia plánovača, oneskorené stránky, čas čakania, počty kompilácií a zásahov do vyrovnávacej pamäte, dokončený výstup, špičkovú súbežnosť fáz, latenciu prvého výsledku, celkový uplynutý čas a počet skompilovaných stránok pri dokončení prvej bitmapy
Volajúci vlastní každú nenulovú bitmapu v Bitmaps
Dokončené výsledky poľa zostávajú vo vlastníctve volajúceho po uvoľnení ich prebiehajúcich rezervácií, preto použite RenderLoadedPagesParallelOrdered, keď celá výstupná množina musí zostať v rámci rozpočtu plánovača
THPDFParallelRenderPipelineInfo · Zoznamy zobrazenia a tlačová produkcia