Cache Infrastructure

HotPDF leverer afgrænset hukommelsescaching plus persistente cacher til genbrugelige font-subsets og renderede sider

Vægtet hukommelses-cache

THPDFWeightedCache i HPDFCache ejer TObject -værdier, indekserer dem efter AnsiString og bortviser de mindst senest brugte værdier, indtil deres samlede vægt passer i MaxBytes

Indholdsnøgler

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

Begge funktioner returnerer den samme SHA-256 hexadecimale nøgle med små bogstaver for det samme indhold

HPDFCacheKeyOfStream hasher uden at allokere et andet byte-array i fuld størrelse, læser søgbare strømme fra position nul og gendanner deres oprindelige position

Decoder-cache for indlæste fonts

Each THotPDF -instans fastholder succesfuldt fortolkede decodere for indlæste fonts i en dokument-scoped vægtet LRU-cache

Shardet decode-cache for indlæste billeder

Each THotPDF -instans koordinerer genbrug af decode af indlæste billeder gennem 16 uafhængigt låste metadata-shards

ICC transform cache

HPDFICC deler komplette kilde-til-sRGB-transformationer gennem en trådsikker 64 MiB vægtet LRU-cache, herunder proof- og outputprofiler, når de er konfigureret

Persistent font-subset-cache

Set THotPDF.FontSubsetCacheFolder for at aktivere genbrugelige TrueType- og OpenType-subset-resultater, mens EnableFontSubsetting er aktiv

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

Persistent cache for renderede sider

Set THotPDF.RenderCacheFolder for at aktivere disk-laget, der bruges efter cachen for renderede sider i hukommelsen

Ownership

Relaterede API'er