THotPDF.RenderLoadedPagesParallel Method

Membuat pipeline kompilasi dan pemutaran daftar tampilan di seluruh pekerja terbatas sambil mempertahankan urutan input dalam larik keluaran

Deklarasi

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;

Perilaku

Kompilasi berjalan di luar kunci cache daftar tampilan, sehingga halaman yang tidak terkait dapat dikompilasi secara bersamaan dan halaman pertama yang siap dapat mulai dirender sebelum seluruh set input dikompilasi

Penjadwal menyeimbangkan pekerjaan kompilasi dan pemutaran secara dinamis, membatasi pekerja ke MaxConcurrency, mengisolasi status renderer per pekerja, dan berbagi entri cache melalui jumlah penggunaan yang dilindungi

Ketika PeakMemorySchedulerEnabled true, jumlah pekerja efektif dikurangi dari permintaan ternormalisasi menggunakan estimasi halaman terbesar dan anggaran global yang tersedia saat ini, lalu setiap halaman yang diklaim memegang reservasi memori adilnya sendiri melalui kompilasi dan pemutaran

Overload dengan Info melaporkan pekerja yang diminta dan efektif, batas pekerja turunan memori, estimasi reservasi halaman, byte render terreservasi puncak, penerimaan penjadwal, halaman tertunda, waktu tunggu, jumlah kompilasi dan cache-hit, keluaran selesai, konkurensi tahap puncak, latensi hasil pertama, total waktu berlalu, dan jumlah halaman yang dikompilasi ketika bitmap pertama selesai

Pemanggil memiliki setiap bitmap non-nil di Bitmaps

Hasil larik yang selesai tetap milik pemanggil setelah reservasi in-flight-nya dilepaskan, jadi gunakan RenderLoadedPagesParallelOrdered ketika set keluaran lengkap itu sendiri harus tetap berada dalam anggaran penjadwal

THPDFParallelRenderPipelineInfo · Daftar Tampilan dan Produksi Cetak