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