Infrastruttura di cache

HotPDF fornisce una cache di memoria ponderata e limitata per oggetti intermedi riutilizzabili e una cache persistente delle pagine renderizzate usata dal rendering dei documenti caricati

Cache di memoria ponderata

THPDFWeightedCache in HPDFCache possiede valori TObject , li indicizza per AnsiString ed elimina i valori usati meno di recente finché il peso complessivo non rientra in MaxBytes

Chiavi di contenuto

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

Entrambe le funzioni restituiscono la stessa chiave esadecimale SHA-256 in minuscolo per lo stesso contenuto

HPDFCacheKeyOfStream esegue l'hash senza allocare un secondo array di byte a dimensione intera, legge gli stream seekable dalla posizione zero e ripristina la loro posizione originale

Cache dei decodificatori dei font caricati

Each THotPDF coordina il riuso della decodifica delle immagini caricate attraverso 16 shard di metadati bloccati indipendentemente

Cache di decodifica delle immagini caricate a shard

Ogni istanza di THotPDF conserva i decoder dei font caricati e analizzati con successo in una cache LRU pesata con ambito documento

Cache delle trasformazioni ICC

HPDFICC condivide le trasformazioni complete sorgente-sRGB attraverso una cache LRU ponderata thread-safe da 64 MiB, inclusi profili proof e output quando configurati

Cache persistente dei subset di font

Imposta THotPDF.FontSubsetCacheFolder per abilitare il riutilizzo dei risultati di subset TrueType e OpenType mentre EnableFontSubsetting è attivo

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

Cache persistente delle pagine renderizzate

Imposta THotPDF.RenderCacheFolder per abilitare il livello su disco usato dopo la cache in memoria delle pagine renderizzate

Ownership

API correlate