Cache-infrastructuur

HotPDF biedt begrensde geheugencaching plus persistente caches voor herbruikbare fontsubsets en gerenderde pagina's

Geweegd geheugencache

THPDFWeightedCache in HPDFCache is eigenaar van TObject-waarden, indexeert die op AnsiString en verdrijft de langst ongebruikte waarden totdat hun gecombineerde gewicht binnen MaxBytes past

Content keys

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

Beide functies geven voor dezelfde content dezelfde lowercase SHA-256-hexadecimale sleutel terug

HPDFCacheKeyOfStream hasht zonder een tweede byte-array op volledige grootte toe te wijzen, leest seekable streams vanaf positie nul en herstelt hun oorspronkelijke positie

Decodercache voor geladen fonts

Elke THotPDF-instantie bewaart succesvol geparsde decoders van geladen fonts in een documentscope-geweegde LRU-cache

Gesharde decodecache voor geladen afbeeldingen

Elke THotPDF-instantie coördineert hergebruik van gedecodeerde geladen afbeeldingen via 16 onafhankelijk gelockte metadatashards

ICC-transformatiecache

HPDFICC deelt volledige bron-naar-sRGB-transformaties via een thread-safe gewogen LRU-cache van 64 MiB, inclusief proof- en uitvoerprofielen wanneer die zijn ingesteld

Persistente fontsubset-cache

Zet THotPDF.FontSubsetCacheFolder in om herbruikbare TrueType- en OpenType-subsetresultaten aan te zetten terwijl EnableFontSubsetting actief is

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

Persistente cache met gerenderde pagina's

Zet THotPDF.RenderCacheFolder in om de schijftier te gebruiken die na de in-memory cache met gerenderde pagina's komt

Eigendom

Gerelateerde API's