Método THotPDF.RenderLoadedPageTilesParallel
Renderiza tiles de uma página carregada em workers isolados, enquanto a thread chamadora entrega os bitmaps emprestados em 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 propriedade
Callback roda serialmente na thread chamadora e recebe os tiles em ordem row-major, mesmo que os workers os concluam em outra ordem
Cada bitmap é emprestado apenas durante a invocação do callback e liberado imediatamente depois; copie-o ou codifique-o dentro do callback se ele precisar sobreviver
Defina Cancel para interromper novas requisições de tiles, acordar os workers, liberar os bitmaps não publicados e retornar o número de callbacks entregues
O callback não deve modificar nem destruir o documento enquanto houver workers ativos
Memória e compartilhamento
MaxWorkingBytes deve ser positivo e reduz a contagem 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 do processo pode atrasá-lo ainda mais sob trabalho concorrente de documentos
Os renderizadores paralelos compartilham sequências de tokens de glifos Type 3 imutáveis copiadas e telas de limiar de retícula por meio do orçamento delimitado de RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Listas de exibição e produção de impressão