THotPDF.RenderLoadedPageTilesParallel Method
מרנדר tiles מעמוד טעון אחד על workers מבודדים, כאשר ה-thread הקורא ממסר bitmaps מושאלים בסדר row-major
הצהרה
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 רץ באופן סריאלי על ה-thread הקורא ומקבל את ה-tiles בסדר row-major, גם כשה-workers מסיימים אותם בסדר אחר
כל bitmap מושאל רק לצורך ההפעלה של ה-callback ומשוחרר מיד אחר כך, לכן העתיקו או קודדו אותו בתוך ה-callback אם הוא צריך לשרוד
הגדירו Cancel כדי לעצור תביעות חדשות, להעיר workers, לשחרר bitmaps שטרם פורסמו, ולהחזיר את מספר ה-callbacks שנמסרו
ה-callback אסור שישנה או יהרוס את המסמך כלעוד יש workers פעילים
זיכרון ושיתוף
MaxWorkingBytes חייב להיות חיובי, והוא מקטין את מספר ה-workers מההזמנה השמרנית הגדולה ביותר ל-tile עוד לפני תחילת העבודה
כל worker מחזיק tile פעיל או שהושלם אחד לכל היותר, וה-scheduler של peak memory ברמת התהליך יכול לעכב אותו עוד יותר תחת עבודת מסמכים מתחרה
renderers מקביליים משתפים עותקים של רצפי token של גליפי Type 3 ושל halftone threshold screens דרך תקציב RendererSharedCacheMaxBytes המוגבל