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