THotPDF.RenderLoadedPageTilesParallel Method
کاشیهای یک صفحه بارگذاریشده را روی workerهای جدا رندر میکند، در حالی که نخ فراخوان bitmapهای امانی را به ترتیب سطری تحویل میدهد
اعلان
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;
جریاندهی و مالکیت
Callback بهصورت سریالی روی نخ فراخوان اجرا میشود و کاشیها را به ترتیب سطری دریافت میکند، هرچند workerها آنها را به ترتیب دیگری کامل میکنند
هر bitmap تنها بهاندازه فراخوانی callback امانی است و بیدرنگ پس از آن آزاد میشود، بنابراین اگر باید باقی بماند، داخل callback از آن نسخهبرداری یا رمزگذاری کنید
تنظیم Cancel درخواستهای جدید را متوقف میکند، workerها را بیدار میسازد، bitmapهای منتشرنشده را آزاد میکند، و تعداد callbackهای تحویلدادهشده را برمیگرداند
callback نباید تا فعال بودن workerها سند را تغییر دهد یا از بین ببرد
حافظه و اشتراک
MaxWorkingBytes باید مثبت باشد و پیش از شروع کار، تعداد workerها را بر پایه بزرگترین رزرو محافظهکارانه کاشی کاهش میدهد
هر worker حداکثر یک کاشی فعال یا تکمیلشده را نگه میدارد، و زمانبند حافظهاوجی سطح فرایند میتواند زیر بار کارهای رقابتی سند، بیشتر به تأخیرش بیندازد
رندرکنندههای موازی، دنبالههای توکن گلیف Type 3 تغییرناپذیر کپیشده و پردههای آستانه هالفتون را از طریق بودجه محدود RendererSharedCacheMaxBytes به اشتراک میگذارند
THPDFParallelTileRenderInfo · Display Lists and Print Production