Diagnostik Rendering dan Telemetri Operasi
HotPDF membedakan entri cache halaman-ter-render berdasarkan setiap status terlihat-pemanggil yang dapat mengubah piksel halaman dan mengekspos diagnostik terbatas saat konten halaman tidak dapat dirender sepenuhnya
Varian cache sadar-status
THotPDF.RenderLoadedPageToBitmapCached mengunci entri memori berdasarkan halaman, DPI, visibilitas konten-opsional efektif, THotPDF.RenderColourIntent, dan THotPDF.RenderFallbackPolicy
Cache persisten menggunakan digest status yang sama, sedangkan mode fallback yang menghasilkan-diagnostik tetap hanya-memori sehingga hit disk tidak dapat kehilangan laporan objek yang dilewati
Mengubah grup konten-opsional memilih varian lain alih-alih menghapus bitmap sebelumnya, sehingga mengalihkan kembali lapisan atau intent warna dapat menggunakan ulang kerja sebelumnya
Intent warna
PDF.RenderColourIntent := rciRelativeColorimetric;
Bitmap := PDF.RenderLoadedPageToBitmapCached(0, 144);
rciDocument menghormati setiap operator ri aliran-konten dan tetap default
Empat nilai eksplisit menggantikan pemilihan intent aliran-konten dan diterapkan ke konversi isi dan goresan ICCBased berikutnya
Kebijakan fallback
PDF.RenderFallbackPolicy := rfpReport;
PDF.RenderFallbackDiagnosticLimit := 256;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
Diagnostics := PDF.GetLastRenderFallbackDiagnostics;
rfpIgnoremempertahankan perilaku permisif lamarfpReportmencatat operator tidak didukung, sumber daya hilang, objek tidak valid, kegagalan dekode, batas rekursi, dan jenis objek tidak didukungrfpStrictmemunculkan pada fallback pertama di luar bagian kompatibilitasBXdanEXTHotPDF.RenderFallbackDiagnosticLimitmembatasi diagnostik yang dipertahankanTHotPDF.LastRenderFallbackDroppedCountmelaporkan diagnostik yang dihilangkan setelah batas terbatas yang dikonfigurasi
THotPDF.GetLastRenderFallbackDiagnostics mengembalikan set yang dipertahankan, sedangkan THotPDF.ClearLastRenderFallbackDiagnostics membersihkannya; entri mode-laporan ter-cache mempertahankan set diagnostiknya, sehingga hit cache memori mengembalikan informasi kelengkapan rendering yang sama dengan render asli
Telemetri operasi terpadu
if PDF.GetLastOperationTelemetry(Info) then
begin
WriteLn(Info.OperationName);
WriteLn(Info.ElapsedMilliseconds);
WriteLn(Info.CPUTimeMicroseconds);
WriteLn(Info.PeakProcessMemoryBytes);
WriteLn(Info.MemorySchedulerWaitMilliseconds);
WriteLn(Info.DecodeExpansionPermille);
end;
THotPDF.GetLastOperationTelemetry mengembalikan rekaman THPDFOperationTelemetry yang berisi waktu dinding, waktu CPU utas-saat-ini, memori, alokasi, I/O proses, dekode filter, cache, jumlah-objek, keberhasilan, dan metrik pembatalan
Pemuatan dokumen, rendering halaman sinkron dan ter-cache, irisan render progresif, optimasi aliran selektif, dan optimasi gambar paralel memublikasikan bentuk rekaman yang sama
PeakMemoryBytes adalah perkiraan operasi-dokumen portabel, bukan set kerja proses sistem-operasi, sehingga tetap stabil di seluruh host dan menyertakan byte sumber yang dimuat, entri bitmap ter-render, bobot cache gambar terdekode, dan penyimpanan rantai-filter puncak
PeakProcessMemoryBytes adalah set kerja proses sampel terbesar, sedangkan AllocationCount adalah peningkatan sampel terbesar dalam blok manajer-memori Delphi yang hidup bersamaan relatif terhadap awal operasi, bukan total alokasi seumur hidup
CPUTimeMicroseconds mengukur utas pemanggil, sedangkan ReadIOBytes, WriteIOBytes, dan OtherIOBytes adalah delta penghitung seluruh-proses dan karena itu dapat menyertakan kerja bersamaan dalam proses yang sama
DecodeInputBytes adalah masukan terkompresi, DecodeOutputBytes adalah keluaran rantai-filter akhir, dan DecodedBytes adalah kerja agregat di seluruh setiap tahap filter; DecodeExpansionPermille membagi keluaran akhir dengan masukan, dengan 1000 mewakili 1x
ScheduledMemoryBytes adalah perkiraan penerimaan operasi, MemorySchedulerWaitMilliseconds mencatat waktu antrean, dan MemorySchedulerDelayed membedakan penerimaan antrean dari jalur cepat tanpa-alokasi
Puncak memori dan alokasi disampel di batas operasi, penyelesaian rantai-filter, irisan progresif, dan titik periksa pembatalan, sehingga merupakan sinyal operasional overhead-rendah, bukan jejak profiler tingkat-instruksi