THotPDF.RenderLoadedPageTilesParallel Method
Rend les tuiles d’une page chargée sur des workers isolés tandis que le thread appelant livre des bitmaps prêtés dans l’ordre ligne par ligne
Déclaration
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 et propriété
Callback s’exécute en série sur le thread appelant et reçoit les tuiles dans l’ordre ligne par ligne même si les workers les terminent dans un autre ordre
Chaque bitmap n’est prêté que pour la durée de l’invocation du callback et est libéré immédiatement après, donc copiez-le ou encodez-le dans le callback s’il doit survivre
Positionnez Cancel pour arrêter les nouvelles claims, réveiller les workers, libérer les bitmaps non publiés et renvoyer le nombre de callbacks livrés
Le callback ne doit ni muter ni détruire le document tant que des workers restent actifs
Mémoire et partage
MaxWorkingBytes doit être positif et réduit le nombre de workers à partir de la plus grande réservation conservative de tuile avant le début du travail
Chaque worker retient au plus une tuile active ou terminée, et l’ordonnanceur de mémoire crête à l’échelle du processus peut encore le retarder sous un travail documentaire concurrent
Les moteurs de rendu parallèles partagent des séquences copiées immuables de tokens de glyphes Type 3 et des écrans de seuil de halftone via le budget borné RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Display Lists and Print Production