THotPDF.RenderLoadedPagesParallelOrdered Method
Compiles and renders loaded pages concurrently while delivering completed bitmaps in input order through a bounded calling-thread callback
Declaration
function RenderLoadedPagesParallelOrdered(
const PageIndices: array of Integer; DPI, MaxConcurrency,
OutputQueueDepth: Integer; Callback: THPDFParallelRenderPageEvent): Integer; overload;
function RenderLoadedPagesParallelOrdered(
const PageIndices: array of Integer; DPI, MaxConcurrency,
OutputQueueDepth: Integer; Callback: THPDFParallelRenderPageEvent;
out Info: THPDFParallelRenderPipelineInfo): Integer; overload;
Callback and ownership
Callback runs serially on the calling thread with the zero-based input position, requested page index, borrowed bitmap, and cancellation flag
The bitmap is valid only for the callback duration and is released immediately after the callback returns, so copy or encode it inside the callback when the result must outlive that invocation
Set Cancel to stop claiming new pages, wake blocked workers, join in-flight work, release unpublished results, and return the number of callbacks completed
Backpressure
OutputQueueDepth limits completed bitmaps including the bitmap active in the callback; values below one select the effective worker count and values above the page count are clamped
The scheduler reserves output capacity for the next required input position, so later pages cannot fill the queue and block ordered progress when an earlier page compiles more slowly
With PeakMemorySchedulerEnabled, requested parallelism is reduced from the largest page estimate and currently available global budget, and every page reservation remains active from work claim until its borrowed bitmap leaves the callback
Queued output therefore competes fairly with active compilation and playback for the same process-wide budget, while cancellation or failure releases unpublished reservations before joining workers
The callback must not mutate or destroy the document while workers are active
THPDFParallelRenderPipelineInfo · Display Lists and Print Production