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