THotPDF.PrefetchLoadedPages Method
Прогревает raster-кэш загруженных страниц асинхронно, не удерживая блокировку render-кэша во время компиляции display list или её проигрывания
Объявление
procedure PrefetchLoadedPages(const PageRange: string= ''; DPI: Integer= 150);
Модуль
HPDFDoc
Параметры
| Имя | Назначение |
|---|---|
PageRange | Диапазон страниц с единичной нумерацией, принимаемый стандартным парсером диапазонов, или все загруженные страницы, если пусто |
DPI | Разрешение растра для каждой запланированной записи кэша; некорректные значения заменяются на 150 |
Возвращаемое значение
Этот член не возвращает значение
Примечания по использованию
- Запуск нового запроса кооперативно отменяет предыдущий и дожидается его, прежде чем планировать новый набор страниц
- Передние вызовы
RenderLoadedPageToBitmap,RenderLoadedPageToBitmapCachedиGetLoadedCachedRenderedBitmapвытесняют активную prefetch-работу до отрисовки - Точки отмены проходят через токенизацию содержимого, построение display list и проигрывание рендерера, при этом отдельные вызовы codec, filter, чтения источника и операционной системы остаются атомарными
- Инспекция и публикация кэша сериализуются, но компиляция и растеризация идут вне блокировки кэша, чтобы фоновая работа не монополизировала переднюю отрисовку
- Передний кэшированный рендер может скопировать уже существующий неизменяемый bitmap из memory-кэша, пока отмена завершается; перед копированием он берёт обычное резервирование памяти и ждёт логического завершения воркера перед возвратом
- Передний промах по кэшу ждёт завершения воркера перед новой работой с документом; явная отмена, замена, перезагрузка и уничтожение по-прежнему присоединяются и освобождают удержанные потоки воркеров
- Не изменяйте и не перезагружайте документ, пока запрос prefetch активен