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