SetMemoryBudget

Производительность, управление документами

Описание

Управляет хранением декодированных потоков и бюджетами числа записей и декодированных байтов для кэширования сжатых потоков объектов

Синтаксис

Delphi

Function TPDFlib.SetMemoryBudget(MaxDecodedStreamSize: Int64; ObjectStreamCacheSize: Integer): Integer; Overload;
Function TPDFlib.SetMemoryBudget(MaxDecodedStreamSize: Int64; ObjectStreamCacheSize: Integer; ObjectStreamCacheMaxBytes: Int64): Integer; Overload;

DLL

int DLSetMemoryBudget(int InstanceID, int64_t MaxDecodedStreamSize,
  int ObjectStreamCacheSize);

Параметры

MaxDecodedStreamSizeМаксимум декодированных байтов потока, удерживаемых в памяти; 0 — без лимита
ObjectStreamCacheSizeМаксимум сжатых потоков объектов, кэшируемых в памяти; 0 — значение по умолчанию 50
ObjectStreamCacheMaxBytesМаксимум кэшируемых на документ декодированных байтов нагрузки и таблицы смещений потока объектов; 0 — без байтового лимита

Возвращаемые значения

1Лимиты приняты и применены к существующим и будущим документам
0Одно из значений было отрицательным

Примечания

Вызовите любую из перегрузок до загрузки, чтобы задать значения экземпляра по умолчанию для всех последующих документов

Кэшированные потоки объектов вытесняются по принципу LRU, а декодированный поток объектов крупнее байтового бюджета читается, не попадая в кэш

Кэшированные object streams используют вытеснение по принципу наименее недавнего использования, а декодированный object stream крупнее байтового бюджета читается без попадания в кэш