PDFium Component Docs

FPdfCache Moduł

Unit: FPdfCache
Dostarcza współdzielonego zarządcy budżetu bajtów dla zachowanych danych PDF, których właściciele mogą zwalniać wpisy na żądanie

Types

TypeDescription
EPdfCacheErrorRaportuje nieprawidłowe budżety, rozmiary wpisów i uczestników
TPdfCacheKindKlasyfikuje sceny stron (pckPageScene), kafle (pckTile), miniatury (pckThumbnail), czcionki systemowe (pckSystemFont), dane struktury (pckStructure), migawki tekstu (pckTextSnapshot), migawki obiektów stron (pckPageObjectSnapshot), zdekodowane strumienie (pckDecodedStream) i wpisy aplikacji (pckApplication)
TPdfCacheGovernorStatisticsRaportuje budżet, bieżące i szczytowe zachowane bajty, bajty przypięte, liczbę wpisów, rezerwacje, dotknięcia, eksmisje i odrzucenia; pola obejmują MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantOtrzymuje synchroniczne wywołania zwrotne EvictCacheEntry po tym, jak zarządca usunął token ze swojej ewidencji
TPdfCacheGovernorEntryWewnętrzny rekord ewidencji ujawniony dla zgodności z kompilatorem; pola obejmują Token, Participant, Kind, StoredBytes, LastUsed i Pinned
TPdfCacheGovernorBezpieczny wątkowo rejestr tokenów z jednym globalnym porządkiem najdawniej używanych wśród uczestników i rodzajów buforów

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Tworzy zarządcę z nieujemnym budżetem bajtów
DestroyCzyści zarejestrowane wpisy przed zwolnieniem stanu synchronizacji
ReserveRezerwuje bajty i zwraca dodatni token, eksmitując globalne wpisy LRU, gdy to możliwe, albo zwraca zero, gdy wpis się nie mieści
TouchPrzenosi istniejący token na najnowszą pozycję
ReleaseUsuwa ewidencję tokenu bez wywoływania jego wywołania zwrotnego eksmisji
SetPinnedChroni lub zdejmuje ochronę z używanego wpisu i przycina po odpięciu
ClearUsuwa wszystkie tokeny i prosi każdego uczestnika o zwolnienie jego zachowanego wpisu
ContainsSprawdza, czy token pozostaje zarejestrowany
UsageForKindZwraca zachowane bajty dla jednego TPdfCacheKind
EntryCountForKindZwraca liczbę zarejestrowanych wpisów dla jednego TPdfCacheKind
StatisticsZwraca chronioną blokadą migawkę telemetrii
MaxBytesOdczytuje lub zmienia całkowity budżet i natychmiast przycina nieprzypięte wpisy po redukcji

Ownership and callback contract

Zarządca nigdy nie posiada uczestników ani ich zachowanych danych

Każdy uczestnik musi przeżyć wszystkie swoje zarejestrowane tokeny i nie może zgłaszać wyjątków z EvictCacheEntry

Wywołania zwrotne działają synchronicznie bez trzymanej blokady zarządcy, więc uczestnicy mogą bezpiecznie wywoływać Release dla powiązanych tokenów

Przypięte wpisy mogą czasowo utrzymywać StoredBytes powyżej zredukowanej wartości MaxBytes, dopóki ostatni użytkownik ich nie odpiśnie

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE pozostaje dostępny przez reLimitCache i stosuje stały natywny limit bufora obrazów na stronę PDFium

PDFium nie udostępnia publicznego ABI dla konfigurowalnego ani odpytywalnego ogólnoprocesowego budżetu bajtów bufora

Zarządca mierzy zatem zachowane obiekty należące do PDFium Delphi Component i używa jawnego szacunku dla nieprzejrzystych sparsowanych scen stron

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor