PDFium Delphi Component Docs

FPdfCache unit

Unit: FPdfCache
Menyediakan governor anggaran byte bersama untuk data PDF yang ditahan dan dapat dilepaskan entrinya oleh pemiliknya sesuai permintaan

Types

TypeDescription
EPdfCacheErrorMelaporkan anggaran, ukuran entri, dan partisipan yang tidak valid
TPdfCacheKindMengklasifikasikan scene halaman (pckPageScene), tile (pckTile), thumbnail (pckThumbnail), font sistem (pckSystemFont), data struktur (pckStructure), snapshot teks (pckTextSnapshot), snapshot page-object (pckPageObjectSnapshot), stream terdekode (pckDecodedStream), dan entri aplikasi (pckApplication)
TPdfCacheGovernorStatisticsMelaporkan anggaran, byte tertahan saat ini dan puncaknya, byte yang di-pin, jumlah entri, reservasi, touch, eviksi, dan penolakan; field-nya mencakup MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantMenerima callback EvictCacheEntry sinkron setelah governor menghapus sebuah token dari pembukuannya
TPdfCacheGovernorEntryRecord pembukuan internal yang diekspos demi kompatibilitas compiler; field-nya mencakup Token, Participant, Kind, StoredBytes, LastUsed, dan Pinned
TPdfCacheGovernorRegistry token thread-safe dengan satu urutan least-recently-used global melintasi partisipan dan jenis cache

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Membuat governor dengan anggaran byte non-negatif
DestroyMenghapus entri terdaftar sebelum melepaskan status sinkronisasi
ReserveMereservasi byte dan mengembalikan token positif, melakukan eviksi entri LRU global bila memungkinkan atau mengembalikan nol ketika entri tidak muat
TouchMemindahkan token yang sudah ada ke posisi terbaru
ReleaseMenghapus pembukuan sebuah token tanpa memanggil callback eviksinya
SetPinnedMelindungi atau melepas perlindungan entri yang sedang dipakai dan memangkas setelah unpin
ClearMenghapus semua token dan meminta setiap partisipan melepaskan entri yang ditahannya
ContainsMenguji apakah sebuah token masih terdaftar
UsageForKindMengembalikan byte tertahan untuk satu TPdfCacheKind
EntryCountForKindMengembalikan jumlah entri terdaftar untuk satu TPdfCacheKind
StatisticsMengembalikan cuplikan telemetri yang dilindungi lock
MaxBytesMembaca atau mengubah total anggaran dan segera memangkas entri yang tidak di-pin setelah pengurangan

Ownership and callback contract

Governor tidak pernah memiliki partisipan maupun data yang mereka tahan

Setiap partisipan harus berumur lebih panjang dari semua token terdaftarnya dan tidak boleh memunculkan exception dari EvictCacheEntry

Callback berjalan sinkron tanpa lock governor dipegang, sehingga partisipan boleh memanggil Release untuk token terkait dengan aman

Entri yang di-pin dapat sementara menjaga StoredBytes di atas nilai MaxBytes yang telah dikurangi sampai pengguna terakhir melepas pinnya

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE tetap tersedia melalui reLimitCache dan menerapkan batas image-cache native per halaman milik PDFium yang bersifat tetap

PDFium tidak mengekspos ABI publik untuk anggaran byte cache tingkat proses yang dapat dikonfigurasi atau dikueri

Oleh karena itu governor mengukur objek tertahan milik PDFiumPas dan memakai estimasi eksplisit untuk scene halaman hasil parse yang opak

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor