THotPDF.RenderLoadedPageTilesParallel Method

Vykresluje tile z jedné načtené stránky na izolovaných workerech, přičemž volající vlákno doručuje vypůjčené bitmapy v row-major pořadí

Deklarace

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 a vlastnictví

Callback běží serializovaně na volajícím vlákně a přijímá tile v row-major pořadí, i když je workery dokončí v jiném pořadí

Každá bitmapa je vypůjčena jen na dobu vyvolání callbacku a hned poté se uvolní, takže pokud má přežít, zkopírujte nebo zakódujte ji uvnitř callbacku

Nastavením Cancel zastavíte nová převzetí práce, probudíte workery, uvolníte nepublikované bitmapy a získáte počet doručených callbacků

Callback nesmí dokument měnit ani ničit, dokud jsou workery aktivní

Paměť a sdílení

MaxWorkingBytes musí být kladné a ještě před začátkem práce sníží počet workerů odvozený z největší konzervativní rezervace tile

Každý worker udržuje nejvýše jednu aktivní nebo dokončenou tile a process-wide peak-memory scheduler ho může při konkurenční práci s dokumentem ještě pozdržet

Paralelní renderery sdílí zkopírované neměnné sekvence tokenů glyfů Type 3 a halftone threshold screens přes ohraničený budget RendererSharedCacheMaxBytes

THPDFParallelTileRenderInfo · Display Lists and Print Production