THotPDF.RenderLoadedPageTilesParallel Method
Renderizza i tile di una pagina caricata su worker isolati mentre il thread chiamante consegna le bitmap prese in prestito in ordine row-major
Dichiarazione
function RenderLoadedPageTilesParallel(PageIndex, DPI,
TileWidthPixels, TileHeightPixels, MaxConcurrency: Integer;
MaxWorkingBytes: Int64; Callback: THPDFRenderTileEvent): Integer; overload;
function RenderLoadedPageTilesParallel(PageIndex, DPI,
TileWidthPixels, TileHeightPixels, MaxConcurrency: Integer;
MaxWorkingBytes: Int64; Callback: THPDFRenderTileEvent;
out Info: THPDFParallelTileRenderInfo): Integer; overload;
Streaming e ownership
Callback gira in modo seriale sul thread chiamante e riceve i tile in ordine row-major anche se i worker li completano in un ordine diverso
Ogni bitmap è presa in prestito solo per la durata dell'invocazione del callback e viene rilasciata subito dopo, quindi copiala o encodala dentro il callback se deve sopravvivere
Imposta Cancel per fermare le nuove richieste, svegliare i worker, rilasciare le bitmap non pubblicate e restituire il numero di callback consegnati
Il callback non deve modificare o distruggere il documento finché restano attivi dei worker
Memoria e condivisione
MaxWorkingBytes deve essere positivo e riduce il numero di worker partendo dalla più grande prenotazione conservativa di tile prima che il lavoro cominci
Ogni worker trattiene al massimo un tile attivo o completato, e lo scheduler del picco di memoria a livello di processo può ritardarlo ulteriormente in presenza di lavoro concorrente su altri documenti
I renderer paralleli condividono copie immutabili delle sequenze di token dei glyph Type 3 e degli schermi di soglia halftone tramite il budget limitato RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Display Lists and Print Production