Políticas de admisión en caché de THotPDF
Controla la admisión en caché de forma independiente para rangos de origen comprimidos sin procesar, imágenes decodificadas, listas de visualización de páginas compiladas y páginas rasterizadas renderizadas
Declaraciones
THPDFCacheLayerKind = (clkRawCompressed, clkDecoded,
clkDisplayList, clkRaster);
THPDFCacheAdmissionPolicy = record
Enabled: boolean;
AdaptiveAdmission: boolean;
MaxEntries: Integer;
MaxTotalBytes: Int64;
MaxEntryBytes: Int64;
end;
THPDFCacheAdmissionStatistics = record
Enabled: boolean;
AdaptiveAdmission: boolean;
MaxEntries: Integer;
MaxTotalBytes: Int64;
MaxEntryBytes: Int64;
EntryCount: Integer;
CurrentBytes: Int64;
HitCount: Int64;
MissCount: Int64;
AdmissionCount: Int64;
RejectionCount: Int64;
EvictionCount: Int64;
FrequencyAdmissionCount: Int64;
FrequencyRejectionCount: Int64;
FrequencyAgingCount: Int64;
end;
procedure ResetCacheAdmissionPolicies;
procedure SetCacheAdmissionPolicy(Kind: THPDFCacheLayerKind;
const Policy: THPDFCacheAdmissionPolicy);
function GetCacheAdmissionPolicy(Kind: THPDFCacheLayerKind;
out Policy: THPDFCacheAdmissionPolicy): boolean;
function GetCacheAdmissionStatistics(Kind: THPDFCacheLayerKind;
out Statistics: THPDFCacheAdmissionStatistics): boolean;
Límites predeterminados
| Capa | Entradas | Bytes totales | Por entrada | Adaptativo |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | Sí |
clkDecoded | 256 | 32 MiB | 16 MiB | Sí |
clkDisplayList | 64 | 64 MiB | 16 MiB | Sí |
clkRaster | 8 | 128 MiB | 64 MiB | Sí |
Comportamiento de admisión
Una política habilitada exige límites positivos de entradas, bytes totales y por entrada, y el límite por entrada no debe superar el límite de bytes totales
Cambiar una capa nunca modifica otra capa, y reducir un límite elimina de inmediato las entradas usadas menos recientemente hasta que la caché afectada quepa
Con AdaptiveAdmission habilitado, el orden de uso menos reciente sigue siendo la vía rápida de actualidad mientras un bosquejo de frecuencia acotado de cuatro vías compara un nuevo candidato con cada víctima requerida antes del desalojo
Un candidato más frío omite la retención sin perturbar la solicitud actual, la frecuencia igual favorece al candidato más nuevo y el envejecimiento periódico de contadores permite que un conjunto de trabajo cambiado reemplace las entradas activas históricas
Establezca AdaptiveAdmission en False para conservar los mismos límites estrictos con admisión pura de uso menos reciente
Las entradas mayores que MaxEntryBytes se usan para la operación actual pero omiten la retención, evitando que una imagen decodificada, una lista de visualización o una página renderizada grandes desplacen a entradas más pequeñas reutilizables
Establecer Enabled en False con límites cero desactiva la retención para esa capa, mientras que ResetCacheAdmissionPolicies restaura los cuatro valores predeterminados
Estadísticas
THPDFCacheAdmissionStatistics devuelve los límites activos, el modo adaptativo, la ocupación actual de entradas y bytes, aciertos, fallos, admisiones aceptadas, admisiones rechazadas, desalojos por capacidad, decisiones de frecuencia y ciclos de envejecimiento
Las estadísticas de rangos sin procesar describen la fuente de fusión automática creada por LoadFromRandomAccessSource; un THPDFCoalescingRandomAccessSource suministrado explícitamente conserva su configuración elegida por el llamador
Propiedades de compatibilidad
RenderCacheCapacity actualiza el límite de entradas rasterizadas e ImageCacheMaxBytes actualiza el límite de bytes totales de imágenes decodificadas mediante la misma validación de política y la misma vía de recorte inmediato
Véase también: Carga escalable, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource