THotPDF.RenderLoadedPageTilesParallel-Methode
Rendert Tiles einer geladenen Seite auf isolierten Workern, während der aufrufende Thread geliehene Bitmaps in Row-Major-Order ausliefert
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;
Streaming und Besitz
Callback läuft seriell auf dem aufrufenden Thread und empfängt Tiles in Row-Major-Order, selbst wenn die Worker sie in einer anderen Reihenfolge fertigstellen
Jede Bitmap wird nur für den Callback-Aufruf ausgeliehen und unmittelbar danach freigegeben; kopieren oder kodieren Sie sie daher innerhalb des Callbacks, wenn sie überdauern soll
Setzen Sie Cancel, um neue Claims zu stoppen, Worker aufzuwecken, unveröffentlichte Bitmaps freizugeben und die Anzahl ausgelieferter Callbacks zurückzuliefern
Der Callback darf das Dokument nicht verändern oder zerstören, solange Worker aktiv sind
Speicher und gemeinsame Nutzung
MaxWorkingBytes muss positiv sein und reduziert die Worker-Anzahl von der größten konservativen Tile-Reservierung, bevor die Arbeit beginnt
Jeder Worker hält höchstens ein aktives oder fertiges Tile, und der prozessweite Peak-Memory-Scheduler kann ihn bei konkurrierender Dokumentarbeit weiter verzögern
Parallele Renderer teilen sich kopierte unveränderliche Type-3-Glyph-Token-Sequenzen und Halftone-Threshold-Screens über das begrenzte RendererSharedCacheMaxBytes-Budget
THPDFParallelTileRenderInfo · Display Lists und Print Production