TPDFlibViewerBitmapCache

Типи даних, взаємодія з переглядачем, кешування

Опис

Кеш растрових зображень за алгоритмом LRU, що обмежує пам’ять, яку переглядач витрачає на відрендерені сторінкиЗаписи індексуються за номером сторінки разом із квантизованим масштабом, тому зміна масштабу природно витісняє застарілі відрендерені зображення в міру заповнення бюджету; кеш володіє своїми растровими зображеннями й вивільняє їх під час виселенняРастрове зображення, більше за весь бюджет, усе одно зберігається поодинці, щоб переглядач завжди міг показати поточну сторінкуКлас є чистим кодом без залежності від вікон, що робить його придатним для безголового тестування; переглядач відкриває свій примірник через властивість

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

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

Cache і змінює бюджет через SetCacheLimit

Оголошення

TPDFlibViewerBitmapCache = class

Ключові елементи

CreateБудує кеш із байтовим бюджетом, заданим AMaxBytes
GetПовертає кешоване растрове зображення й позначає його нещодавно використаним, або Nil у разі промаху
PutЗберігає растрове зображення під ключем і бере володіння; виселює найдавніше використані записи, доки бюджет не почне дотримуватися
RemovePageВидаляє всі записи однієї сторінки за всіма ключами масштабу й обертання
ClearВивільняє кожне кешоване растрове зображення
CountКількість утримуваних растрових зображень
UsedBytesБайти, утримувані на поточний момент
MaxBytesБюджет пам’яті в байтах, доступний для запису під час виконання

Див. також

Cache, SetCacheLimit, IsPageCached, TPDFlibViewer