THotPDF.RenderLoadedPagesParallel Method
Faz pipeline da compilação de display lists e da reprodução através de workers limitados, preservando a ordem de entrada no array de saída
Declaração
function RenderLoadedPagesParallel(const PageIndices: array of Integer;
DPI, MaxConcurrency: Integer; out Bitmaps: THPDFBitmapArray): Integer; overload;
function RenderLoadedPagesParallel(const PageIndices: array of Integer;
DPI, MaxConcurrency: Integer; out Bitmaps: THPDFBitmapArray;
out Info: THPDFParallelRenderPipelineInfo): Integer; overload;
Comportamento
A compilação corre fora do lock da cache de display lists, pelo que páginas não relacionadas podem compilar em simultâneo e a primeira página pronta pode começar a renderizar antes de todo o conjunto de entrada estar compilado
The scheduler dynamically balances compile and playback work, caps workers at MaxConcurrency, isolates renderer state per worker, and shares cache entries through protected use counts
Quando PeakMemorySchedulerEnabled é true, o número efetivo de workers é reduzido a partir do pedido normalizado, usando a maior estimativa de página e o orçamento global atualmente disponível; depois, cada página reclamada mantém a sua própria reserva de memória equitativa durante a compilação e a reprodução
O overload com Info reporta os workers pedidos e efetivos, o limite de workers derivado da memória, as estimativas de reserva por página, o pico de bytes de render reservados, as admissões do scheduler, as páginas atrasadas, o tempo de espera, as contagens de compilações e de acertos na cache, a saída concluída, o pico de concorrência por fase, a latência do primeiro resultado, o tempo total decorrido e o número de páginas compiladas quando o primeiro bitmap ficou concluído
The caller owns every non-nil bitmap in Bitmaps
Os resultados concluídos do array continuam a pertencer ao chamador depois de as respetivas reservas em curso serem libertadas, pelo que deve usar RenderLoadedPagesParallelOrdered quando o próprio conjunto de saída completo tiver de permanecer dentro do orçamento do scheduler
THPDFParallelRenderPipelineInfo · Listas de apresentação e produção de impressão