THotPDF.RenderLoadedPageTilesParallel Method
Рендерить плитки з однієї завантаженої сторінки на ізольованих робітниках, поки викликальний потік доставляє позичені растрові зображення в порядку рядків
Оголошення
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 виконується послідовно у викликальному потоці та отримує плитки в порядку рядків, навіть якщо робітники завершують їх в іншому порядку
Кожне растрове зображення позичається лише на час виклику зворотного виклику та одразу після нього вивільняється, тому копіюйте або кодуйте його всередині зворотного виклику, якщо воно має зберегтися
Встановіть Cancel, щоб зупинити нові запити, розбудити робітників, вивільнити неопубліковані растрові зображення та повернути кількість доставлених зворотних викликів
Зворотний виклик не повинен змінювати чи знищувати документ, поки робітники активні
Пам'ять і спільне використання
MaxWorkingBytes має бути додатним і зменшує кількість робітників від найбільшого консервативного резервування плитки, перш ніж почнеться робота
Кожен робітник зберігає щонайбільше одну активну або завершену плитку, а загальнопроцесний планувальник пікової пам'яті може затримати його ще дужче під час конкуруючої роботи над документами
Паралельні рендерери спільно використовують скопійовані незмінні послідовності гліфів типу 3 і растрові екрани фд через обмежений бюджет RendererSharedCacheMaxBytes
THPDFParallelTileRenderInfo · Display Lists and Print Production