THotPDF.RenderLoadedPagesParallel Metodu

Display-list derleme ve playback işlemini sınırlı worker'lara pipeline eder; çıktı dizisinde girdi sırasını korur

Bildirim

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;

Davranış

Derleme, display-list cache kilidi dışında çalışır; böylece birbirinden bağımsız sayfalar eşzamanlı derlenebilir ve tam girdi kümesi derlenmeden önce hazır olan ilk sayfa render'a başlayabilir

Scheduler, derleme ve playback işini dinamik olarak dengeler, worker'ları MaxConcurrency ile sınırlar, renderer durumunu worker başına izole eder ve cache entry'lerini korumalı kullanım sayaçları üzerinden paylaşır

PeakMemorySchedulerEnabled true olduğunda etkin worker sayısı, normalleştirilmiş istekten en büyük sayfa tahmini ve o an kullanılabilir global bütçe kullanılarak düşürülür; sonra talep edilen her sayfa, derleme ve playback boyunca kendi adil bellek rezervasyonunu elinde tutar

Info alan overload; istenen ve etkin worker sayısını, bellekten türetilen worker sınırını, sayfa rezervasyon tahminlerini, tepe rezerve render baytını, scheduler kabul sayısını, gecikmiş sayfaları, bekleme süresini, derleme ve cache-hit sayılarını, tamamlanan çıktıyı, tepe stage eşzamanlılığını, ilk sonuç gecikmesini, toplam geçen süreyi ve ilk bitmap tamamlandığında derlenmiş sayfa sayısını raporlar

Bitmaps içindeki nil olmayan her bitmap'in sahibi çağıran taraftır

Tamamlanan dizi sonuçları, in-flight rezervasyonları serbest bırakıldıktan sonra da çağıranın mülkiyetinde kalır; çıktı kümesinin tamamının scheduler bütçesi içinde kalması gerekiyorsa RenderLoadedPagesParallelOrdered metodunu kullanın

THPDFParallelRenderPipelineInfo · Display List'ler ve Baskı Üretimi