THotPDF.RenderLoadedPageTilesParallel Method
Renderiza tiles de uma página carregada em workers isolados, enquanto a thread chamadora entrega os bitmaps emprestados por ordem row-major
Declaração
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 e posse
Callback é executado em série na thread chamadora e recebe os tiles por ordem de linhas, mesmo que os workers os concluam noutra ordem
Cada bitmap é emprestado apenas durante a invocação do callback e libertado imediatamente a seguir, por isso copie-o ou codifique-o dentro do callback quando ele tiver de sobreviver
Defina Cancel para deixar de reclamar trabalho novo, acordar os workers, libertar os bitmaps não publicados e devolver o número de callbacks entregues
O callback não pode mutar nem destruir o documento enquanto existirem workers ativos
Memória e partilha
MaxWorkingBytes tem de ser positivo e reduz o número de workers a partir da maior reserva conservadora de tiles antes de o trabalho começar
Cada worker retém no máximo um tile ativo ou concluído, e o agendador de pico de memória a nível do processo pode atrasá-lo ainda mais sob trabalho de documentos concorrente
Os renderizadores paralelos partilham sequências de tokens de glifos Type 3 imutáveis copiadas e ecrãs de limiar de meio-tom através do orçamento limitado RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Display Lists and Print Production