THotPDF.RenderLoadedPagesParallel Method
Конвейеризира компилацията на display list и възпроизвеждането между ограничен брой workers, като запазва входния ред в изходния масив
Декларация
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;
Поведение
Компилацията протича извън заключването на display-list кеша, така че несвързани страници могат да се компилират едновременно, а първата готова страница може да започне да се изобразява, преди целият входен набор да е компилиран
Scheduler-ът динамично балансира компилацията и възпроизвеждането, ограничава workers до MaxConcurrency, изолира състоянието на renderer-а за всеки worker и споделя кеш записи чрез защитени броячи на употреба
Когато PeakMemorySchedulerEnabled е true, действителният брой workers се намалява от нормализираната заявка според оценката за най-голямата страница и наличния в момента глобален бюджет, след което всяка заявета страница държи собствената си справедлива резервация на памет през компилацията и възпроизвеждането
Претоварената версия с Info докладва заявените и действителните workers, лимита на workers, произтичащ от паметта, оценките на резервациите за страници, пикова резервирана памет за render, допусканията на scheduler-а, забавените страници, времето за изчакване, броя компилации и попадения в кеша, завършения изход, пикова едновременност на етапите, латентност до първия резултат, общо изминало време и броя компилирани страници към момента на завършване на първата bitmap
Всички ненулеви bitmaps в Bitmaps са собственост на извикващия
Завършените резултати в масива остават собственост на извикващия след освобождаването на текущите им резервации, затова използвайте RenderLoadedPagesParallelOrdered, когато целият изходен набор трябва да остане в бюджета на scheduler-а
THPDFParallelRenderPipelineInfo · Display списъци и печатно производство