Інфраструктура кешування

HotPDF надає обмежене зважене кеш у пам'яті для повторно використовуваних проміжних об'єктів та постійний кеш відрендерених сторінок, що використовується під час рендерингу завантажених документів

Зважене кеш у пам'яті

THPDFWeightedCache у HPDFCache володіє значеннями TObject, індексує їх за AnsiString і витісняє найдавніше використані значення, поки їхня сумарна вага не вкладатиметься в MaxBytes

Ключі вмісту

function HPDFCacheKeyOfBytes(const Bytes: TBytes): AnsiString;
function HPDFCacheKeyOfStream(Stream: TStream): AnsiString;

Обидві функції повертають однаковий шістнадцятковий ключ SHA-256 у нижньому регістрі для однакового вмісту

HPDFCacheKeyOfStream хешує без виділення другого повнорозмірного масиву байтів, зчитує потоки, що підтримують позицію, з позиції нуль і відновлює їхню початкову позицію

Кеш декодерів завантажених шрифтів

Кожен примірник THotPDF утримує успішно розібрані декодери завантажених шрифтів у зваженому LRU-кеші в межах документа

Шардований кеш декодування завантажених зображень

Кожен примірник THotPDF координує повторне використання декодування завантажених зображень через 16 незалежно заблокованих метаданих-шардів

Кеш ICC-перетворень

HPDFICC поділяє повні перетворення джерело-в-sRGB через потокобезпечний зважений LRU-кеш 64 МіБ, включно з proof- і вихідними профілями, коли їх налаштовано

Постійний кеш підмножин шрифтів

Установіть THotPDF.FontSubsetCacheFolder, щоб увімкнути багаторазові результати підмножин TrueType і OpenType, поки активний EnableFontSubsetting

PDF.EnableFontSubsetting := True;
PDF.FontSubsetCacheFolder := 'C:\ProgramData\MyApp\HotPDF\FontSubsets';
PDF.FontSubsetCacheMaxBytes := 256 * 1024 * 1024;

Постійний кеш відрендерених сторінок

Установіть THotPDF.RenderCacheFolder, щоб увімкнути дисковий рівень, що використовується після кешу відрендерених сторінок у пам'яті

Володіння

Пов'язані API