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 המוגבל

THPDFParallelTileRenderInfo · רשימות תצוגה וייצור הדפסה