property AsyncRendering: Boolean;
AsyncRendering — визуальная половина паттерна асинхронного рендеринга: она
велит пути отрисовки одиночной страницы рисовать небольшой индикатор загрузки
(настраивается через LoadingText и
LoadingColor) поверх области отрендеренной страницы, пока
worker на стороне вызывающего рендерит текущую страницу. По умолчанию
False, так что существующие приложения обновляются без визуальных
изменений
Сам по себе AsyncRendering не выносит рендеринг в рабочий
поток. Начиная с v1.37.0, TPdf сериализует вызовы рендеринга
и выгрузки страниц на экземпляр, поэтому worker может рендерить через
тот же компонент, не пересекаясь с вызовами рендеринга PDFium. Диспетчеризацию worker, передачу bitmap и время жизни документа
по-прежнему держит вызывающий:
не мутируйте и не выгружайте документ, пока рендеринг в полёте. Управляйте
worker через TPdfFuture<T> из FPdfAsync, а визуальную
сторону во время рендеринга оставьте AsyncRendering / LoadingText / LoadingColor
Оверлей загрузки — небольшой прямоугольник в центре
области страницы, размером с подпись LoadingText. Приложениям, которым нужны
другое размещение, анимация или процент прогресса,
лучше держать AsyncRendering выключенным и рисовать оверлей
напрямую через OnPaint
PdfView1.AsyncRendering := True;
PdfView1.LoadingText := 'Rendering...';
PdfView1.LoadingColor := clGray;
// Kick off the actual off-thread render with TPdfFuture (FPdfAsync).
// The worker owns its own TPdf — DO NOT share PdfView1.Pdf.