PDFium Component Docs

CacheBudgetBytes propiedad

Componente: TPdf  ·  Unidad: PDFium
Establece el techo de bytes compartido que acota cada entrada de caché retenida propiedad de una instancia de TPdf

Syntax

property CacheBudgetBytes: Int64; // read and write, default 256 MiB

Description

Cada instancia de TPdf es dueña de un TPdfCacheGovernor privado, y esta propiedad es su techo MaxBytes. Las escenas de páginas analizadas retenidas, las miniaturas, los árboles de elementos de estructura, las instantáneas de páginas de texto, las instantáneas de objetos de página y cualquier TPdfTileCache adjunto al mismo gobernador reservan sus bytes medidos contra este único presupuesto

Las cachés de mapas de bits se miden como ancho por alto por cuatro bytes, las cachés de instantáneas administradas se estiman a partir de sus registros, cadenas, arreglos y búferes de bytes, y las escenas de páginas PDFium analizadas, opacas, cargan un cargo contable de 8 MiB por cada escena retenida

Reducir el valor se aplica de inmediato: las entradas no ancladas menos recientemente usadas se expulsan en todas las cachés participantes hasta que el uso medido quepa en el nuevo techo

Remarks

Establecer el presupuesto en cero deshabilita la nueva retención, toda reserva se rechaza entonces y se cuenta en RejectionCount, mientras que las escenas de páginas ancladas ya activas se liberan tan pronto como el renderizado termina

Las escenas de páginas analizadas activas están ancladas durante el renderizado y pueden mantener el uso medido temporalmente por encima de un presupuesto reducido hasta que el renderizado las libere

Los valores negativos generan EPdfError. La lectura devuelve el techo actual y devuelve 0 cuando el gobernador no está disponible, lo que en la práctica solo sucede fuera del ciclo de vida normal del componente

El presupuesto cubre solo las entradas retenidas de la caché de la biblioteca; las copias de mapas de bits propiedad de quien llama y las copias de instantáneas devueltas quedan fuera del presupuesto

Example

Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheBudget(Stats.StoredBytes, Stats.PeakStoredBytes);

See Also

CacheGovernorStatistics, CacheGovernor, ThumbnailCacheMaxBytes, PageSceneCacheCapacity, FPdfCache