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