THotPDF.RenderLoadedPageTilesParallel Method
Renderar tiles från en inläst sida på isolerade workers medan den anropande tråden lämnar ut utlånade bitmappar i row-major-ordning
Deklaration
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;
Strömning och ägarskap
Callback körs sekventiellt på den anropande tråden och tar emot tiles i row-major-ordning, även om workers färdigställer dem i en annan ordning
Varje bitmapp är utlånad endast under själva callback-anropet och frigörs omedelbart därefter, så kopiera eller koda den inne i callbacken om den ska finnas kvar
Sätt Cancel för att stoppa nya anspråk, väcka workrarna, frigöra bitmappar som aldrig publicerats och returnera antalet levererade callbacks
Callbacken får inte mutera eller förstöra dokumentet medan workers fortfarande är aktiva
Minne och delning
MaxWorkingBytes måste vara positivt och reducerar antalet workers utifrån den största konservativa tile-reservationen innan arbetet sätter igång
Varje worker behåller som mest en aktiv eller färdig tile, och den processomfattande schemaläggaren för toppminne kan fördröja den ytterligare när annat dokumentarbete konkurrerar
Parallella renderare delar kopierade oföränderliga Type 3-glyftokensekvenser och halftone-tröskelskärmar via den begränsade budgeten i RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Display Lists and Print Production