Caché de decodificación de imágenes cargadas fragmentada
HotPDF combina metadatos de caché con bloqueo independiente con la coordinación exacta de una sola solicitud por clave
Trabajo en paralelo
Dieciséis fragmentos de metadatos limitan la contención durante la búsqueda, la admisión y la expulsión mientras la costosa decodificación de imágenes se ejecuta fuera de los bloqueos de caché
Las solicitudes de claves diferentes pueden decodificarse de forma concurrente y las solicitudes de la misma clave eligen un propietario cuyo resultado completado se comparte con todos los llamadores en espera
Límites globales
ImageCacheMaxBytes, el recuento máximo de entradas y el tamaño máximo por entrada se aplican al contenido combinado de todos los fragmentos
El recorte entre fragmentos conserva los límites configurados exactos y evita seleccionar el fragmento recién insertado mientras otro fragmento puede satisfacer la solicitud de expulsión
Propiedad y vida útil
AcquireLoadedImageStream y AcquireLoadedImageRegionAtResolution devuelven identificadores inmutables con recuento de referencias, por lo que los aciertos en caliente y los solicitantes en espera de una sola solicitud comparten el almacenamiento decodificado sin copiar píxeles
Un identificador permanece válido después de la expulsión de caché, la invalidación y la destrucción del documento, mientras que CreateBitmapCopy proporciona un mapa de bits aislado propiedad del llamador cuando se requieren píxeles mutables
Los métodos de decodificación en caché heredados conservan su contrato TBitmap propiedad del llamador materializando una copia a partir del identificador
Telemetría
GetImageDecodeConcurrencyInfo expone contadores de concurrencia en vivo y acumulados
Los contadores exponen las adquisiciones de identificadores, las copias de mapa de bits de compatibilidad y los bytes copiados además de la actividad de propietario en paralelo y de una sola solicitud
APIs relacionadas
IHPDFDecodedBitmapHandle · AcquireLoadedImageStream · AcquireLoadedImageRegionAtResolution · THPDFImageDecodeConcurrencyInfo