Cache giải mã ảnh đã nạp phân mảnh
HotPDF kết hợp siêu dữ liệu cache khóa độc lập với điều phối singleflight chính xác theo khóa
Công việc song song
Mười sáu phân mảnh siêu dữ liệu giới hạn tranh chấp trong lúc tra cứu, tiếp nhận và đuổi trong khi giải mã ảnh tốn kém chạy ngoài các khóa cache
Các yêu cầu cho các khóa khác nhau có thể giải mã đồng thời và các yêu cầu cho cùng một khóa bầu một chủ sở hữu có kết quả hoàn tất được chia sẻ với mọi bên gọi đang chờ
Giới hạn toàn cục
ImageCacheMaxBytes, số mục tối đa và kích thước tối đa mỗi mục áp dụng cho nội dung kết hợp của mọi phân mảnh
Cắt tỉa xuyên phân mảnh bảo toàn các giới hạn đã cấu hình chính xác và tránh chọn phân mảnh vừa chèn trong khi một phân mảnh khác có thể thỏa mãn yêu cầu đuổi
Quyền sở hữu và vòng đời
AcquireLoadedImageStream và AcquireLoadedImageRegionAtResolution trả về các handle đếm tham chiếu bất biến, nên các lần trúng nóng và waiter singleflight chia sẻ lưu trữ đã giải mã mà không sao chép pixel
Một handle vẫn hợp lệ sau khi đuổi cache, làm mất hiệu lực và hủy tài liệu, trong khi CreateBitmapCopy cung cấp một bitmap cô lập thuộc bên gọi khi cần pixel có thể thay đổi
Các phương thức giải mã có cache cũ giữ hợp đồng TBitmap thuộc bên gọi của chúng bằng cách vật chất hóa một bản sao từ handle
Telemetry
GetImageDecodeConcurrencyInfo phơi bày các bộ đếm đồng thời trực tiếp và tích lũy
Các bộ đếm phơi bày số lần mua handle, bản sao bitmap tương thích và byte đã sao chép ngoài hoạt động owner song song và singleflight
API liên quan
IHPDFDecodedBitmapHandle · AcquireLoadedImageStream · AcquireLoadedImageRegionAtResolution · THPDFImageDecodeConcurrencyInfo