Metoda THotPDF.RenderLoadedPageTilesParallel
Randează tile-uri dintr-o pagină încărcată pe workeri izolați, în timp ce thread-ul apelant livrează bitmap-uri împrumutate în ordinea rând-major
Declarație
function RenderLoadedPageTilesParallel(PageIndex, DPI,
TileWidthPixels, TileHeightPixels, MaxConcurrency: Integer;
MaxWorkingBytes: Int64; Callback: THPDFRenderTileEvent): Integer; overload;
function RenderLoadedPageTilesParallel(PageIndex, DPI,
TileWidthPixels, TileHeightPixels, MaxConcurrency: Integer;
MaxWorkingBytes: Int64; Callback: THPDFRenderTileEvent;
out Info: THPDFParallelTileRenderInfo): Integer; overload;
Streaming și proprietate
Callback rulează serial pe thread-ul apelant și primește tile-urile în ordinea rând-major, chiar dacă workerii le finalizează în altă ordine
Fiecare bitmap este împrumutat doar pentru invocarea callback-ului și este eliberat imediat după, deci copiați-l sau codificați-l în interiorul callback-ului dacă trebuie să supraviețuiască
Setați Cancel pentru a opri noi revendicări, a trezi workerii, a elibera bitmap-urile nepublicate și a returna numărul de callback-uri livrate
Callback-ul nu trebuie să modifice sau să distrugă documentul cât timp workerii sunt încă activi
Memorie și partajare
MaxWorkingBytes trebuie să fie pozitiv și reduce numărul de workeri pornind de la cea mai mare rezervare conservatoare pentru un tile, înainte ca munca să înceapă
Fiecare worker reține cel mult un tile activ sau finalizat, iar scheduler-ul de vârf de memorie la nivel de proces îl poate întârzia suplimentar când există lucrări de document concurente
Rendererele paralele partajează secvențe copiate de token-uri de glif Type 3 și halftone threshold screens imuabile, prin bugetul limitat RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Display Lists and Print Production