THotPDF.RenderLoadedPagesParallel Method

Pipeline-uje kompajliranje i reprodukciju display liste preko ograničenog broja worker-a, čuvajući redosled ulaza u izlaznom nizu

Deklaracija

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;

Ponašanje

Kompajliranje se izvršava van lock-a display-list keša, pa nepovezane stranice mogu da se kompajliraju istovremeno, a prva spremna stranica može da počne renderovanje pre nego što se kompajlira ceo ulazni skup

The scheduler dynamically balances compile and playback work, caps workers at MaxConcurrency, isolates renderer state per worker, and shares cache entries through protected use counts

Kada je PeakMemorySchedulerEnabled true, efektivni broj worker-a se smanjuje u odnosu na normalizovani zahtev, prema najvećoj proceni stranice i trenutno dostupnom globalnom budžetu, a zatim svaka preuzeta stranica drži sopstvenu pravičnu memorijsku rezervaciju kroz kompajliranje i reprodukciju

Overload sa Info izveštava o traženim i efektivnim worker-ima, ograničenju broja worker-a izvedenom iz memorije, procenama rezervacija po stranici, vršnim rezervisanim bajtovima renderovanja, prijemima u scheduler, odloženim stranicama, vremenu čekanja, brojevima kompajliranja i cache hit-ova, završenom izlazu, vršnoj konkurentnosti faza, latenciji prvog rezultata, ukupnom proteklom vremenu i broju stranica kompajliranih u trenutku kada je prvi bitmap završen

The caller owns every non-nil bitmap in Bitmaps

Završeni rezultati u nizu ostaju u vlasništvu pozivaoca nakon što se njihove in-flight rezervacije oslobode, pa koristite RenderLoadedPagesParallelOrdered kada ceo izlazni skup mora ostati unutar budžeta schedulera

THPDFParallelRenderPipelineInfo · Display Lists and Print Production