THotPDF.RenderLoadedPagesParallel Method

Encadeia a compilação e a reprodução de lista de exibição entre trabalhadores limitados preservando a ordem de entrada na matriz 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 é executada fora do bloqueio do cache de lista de exibição, portanto páginas não relacionadas podem compilar simultaneamente e a primeira página pronta pode começar a renderizar antes que o conjunto de entrada completo seja compilado

O agendador equilibra dinamicamente o trabalho de compilação e reprodução, limita os trabalhadores em MaxConcurrency, isola o estado do renderizador por trabalhador e compartilha entradas de cache por meio de contagens de uso protegidas

Quando PeakMemorySchedulerEnabled é verdadeiro, o número efetivo de trabalhadores é reduzido da solicitação normalizada usando a maior estimativa de página e o orçamento global atualmente disponível, e então cada página reivindicada mantém sua própria reserva de memória justa durante a compilação e a reprodução

A sobrecarga com Info relata trabalhadores solicitados e efetivos, o limite de trabalhadores derivado da memória, estimativas de reserva de página, bytes de renderização reservados de pico, admissões do agendador, páginas atrasadas, tempo de espera, contagens de compilação e acerto de cache, saída concluída, concorrência de estágio de pico, latência do primeiro resultado, tempo total decorrido e o número de páginas compiladas quando o primeiro bitmap foi concluído

O chamador possui cada bitmap não nil em Bitmaps

Os resultados concluídos da matriz permanecem de propriedade do chamador depois que suas reservas em andamento são liberadas, portanto use RenderLoadedPagesParallelOrdered quando o conjunto de saída completo em si precisar permanecer dentro do orçamento do agendador

THPDFParallelRenderPipelineInfo · Listas de exibição e produção de impressão