Phương thức THotPDF.RenderLoadedPagesParallel
Đường ống hóa việc biên dịch và phát lại danh sách hiển thị qua các worker có giới hạn trong khi bảo toàn thứ tự đầu vào trong mảng đầu ra
Khai bá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;
Hành vi
Việc biên dịch chạy ngoài khóa cache danh sách hiển thị, vì vậy các trang không liên quan có thể biên dịch đồng thời và trang sẵn sàng đầu tiên có thể bắt đầu dựng hình trước khi toàn bộ tập đầu vào được biên dịch
Bộ lập lịch cân bằng động công việc biên dịch và phát lại, giới hạn worker ở MaxConcurrency, cô lập trạng thái bộ dựng hình cho mỗi worker và chia sẻ các mục nhập cache qua số lần dùng được bảo vệ
Khi PeakMemorySchedulerEnabled là true, số worker hiệu dụng được giảm từ yêu cầu đã chuẩn hóa bằng ước tính trang lớn nhất và ngân sách toàn cục hiện khả dụng, sau đó mỗi trang được nhận giữ một dự trữ bộ nhớ công bằng riêng qua việc biên dịch và phát lại
Overload có Info báo cáo số worker được yêu cầu và hiệu dụng, giới hạn worker từ bộ nhớ, ước tính dự trữ trang, byte dựng hình dự trữ đỉnh, lượt tiếp nhận của bộ lập lịch, trang bị trễ, thời gian chờ, số lần biên dịch và trúng cache, đầu ra hoàn tất, độ đồng thời giai đoạn đỉnh, độ trễ kết quả đầu tiên, tổng thời gian trôi qua và số trang được biên dịch khi bitmap đầu tiên hoàn tất
Bên gọi sở hữu mọi bitmap không nil trong Bitmaps
Các kết quả mảng hoàn tất vẫn do bên gọi sở hữu sau khi các dự trữ đang bay của chúng được giải phóng, vì vậy hãy dùng RenderLoadedPagesParallelOrdered khi toàn bộ tập đầu ra phải nằm trong ngân sách bộ lập lịch
THPDFParallelRenderPipelineInfo · Danh sách hiển thị và sản xuất in