THotPDF.RenderLoadedPageTilesParallel メソッド
1 つの読み込みページの tile を分離されたワーカーで描画し、呼び出しスレッドが借用ビットマップを行優先順で受け渡します
宣言
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;
ストリーミングと所有権
Callback は呼び出しスレッド上で逐次実行され、ワーカーが別の順序で完了させても、tile は行優先順で受け取ります
各ビットマップは callback の呼び出し中だけ借用され、直後に解放されるため、結果を残す必要があれば callback 内でコピーまたはエンコードしてください
Cancel を設定すると新しい要求の受け付けを止め、ワーカーを起こし、未公開のビットマップを解放し、配信済み callback の数を返します
ワーカーが動作している間、callback からドキュメントを変更・破棄してはいけません
メモリと共有
MaxWorkingBytes は正の値でなければならず、作業開始前に最大の保守的な tile 予約からワーカー数を減らします
各ワーカーはアクティブまたは完了済みの tile を最大 1 つ保持し、プロセス全体のピークメモリスケジューラは、他のドキュメント処理と競合するとさらに遅延させることがあります
並列レンダラーは、コピー済みの不変な Type 3 glyph トークン列と halftone threshold screen を、上限付きの RendererSharedCacheMaxBytes バジェットを通じて共有します
THPDFParallelTileRenderInfo · Display Lists and Print Production