property CacheBudgetBytes: Int64; // read and write, default 256 MiB
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
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
Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheBudget(Stats.StoredBytes, Stats.PeakStoredBytes);