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某个值为负数

备注

加载前调用任一重载,为后续每个文档设置实例默认值

双参数重载会保留已配置的对象流字节预算

缓存的对象流采用最近最少使用淘汰策略,解码后大于字节预算的对象流会在不进入缓存的情况下读取