مرجع HotPDF
يميّز HotPDF مدخلات cache الصفحات المرسومة بكل حالة مرئية للمستدعي يمكن أن تغيّر بكسلات الصفحة، ويعرض تشخيصات محدودة عندما يتعذّر رسم محتوى الصفحة بالكامل
أنواع cache مدركة للحالة
تُفهرس THotPDF.RenderLoadedPageToBitmapCached مدخلات الذاكرة حسب الصفحة، وDPI، ورؤية المحتوى الاختياري الفعلية، وTHotPDF.RenderColourIntent، وTHotPDF.RenderFallbackPolicy
تستخدم ذاكرة التخزين المؤقت الدائمة ملخّص الحالة نفسه، بينما تبقى أوضاع التراجع (fallback) المنتِجة للتشخيصات في الذاكرة فقط، بحيث لا يمكن لإصابة قرص (disk hit) أن تفقد تقارير الكائنات المتخطّاة
تستخدم ذاكرة التخزين المؤقت الدائمة ملخّص الحالة نفسه، بينما تبقى أوضاع التراجع (fallback) المنتِجة للتشخيصات في الذاكرة فقط، بحيث لا يمكن لإصابة قرص (disk hit) أن تفقد تقارير الكائنات المتخطّاة
نية اللون
PDF.RenderColourIntent := rciRelativeColorimetric;
Bitmap := PDF.RenderLoadedPageToBitmapCached(0, 144);
تراعي rciDocument كل عامل ri في stream المحتوى، وتبقى هي الافتراضية
تستخدم ذاكرة التخزين المؤقت الدائمة ملخّص الحالة نفسه، بينما تبقى أوضاع التراجع (fallback) المنتِجة للتشخيصات في الذاكرة فقط، بحيث لا يمكن لإصابة قرص (disk hit) أن تفقد تقارير الكائنات المتخطّاة
نية اللون
PDF.RenderFallbackPolicy := rfpReport;
PDF.RenderFallbackDiagnosticLimit := 256;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
Diagnostics := PDF.GetLastRenderFallbackDiagnostics;
- تحافظ
rfpIgnoreعلى السلوك المتساهل القديم - تسجّل
rfpReportالعوامل غير المدعومة والموارد المفقودة والكائنات غير الصالحة وأخطاء فك التشفير وحدود العودية وأنواع الكائنات غير المدعومة - تُطلق
rfpStrictاستثناءً عند أول fallback خارج قسم توافقBXوEX - تحدّ
THotPDF.RenderFallbackDiagnosticLimitعدد التشخيصات المحتفَظ بها - تُبلغ
THotPDF.LastRenderFallbackDroppedCountبعدد التشخيصات المحذوفة بعد بلوغ الحد المحدد
تُرجع THotPDF.GetLastRenderFallbackDiagnostics المجموعة المحتفَظ بها، بينما تمسحها THotPDF.ClearLastRenderFallbackDiagnostics؛ تحتفظ مدخلات وضع التقرير المخزَّنة بمجموعة تشخيصاتها، لذا يُرجع cache hit في الذاكرة نفس معلومات اكتمال الرسم التي يُرجعها الرسم الأصلي
نية اللون
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 سجل THPDFOperationTelemetry يحتوي مقاييس الوقت الفعلي، ووقت CPU للـthread الحالي، والذاكرة، والتخصيص، وI/O العملية، وفك تشفير الفلاتر، والـcache، وعدد الكائنات، والنجاح، والإلغاء
تستخدم ذاكرة التخزين المؤقت الدائمة ملخّص الحالة نفسه، بينما تبقى أوضاع التراجع (fallback) المنتِجة للتشخيصات في الذاكرة فقط، بحيث لا يمكن لإصابة قرص (disk hit) أن تفقد تقارير الكائنات المتخطّاة
تمثّل PeakMemoryBytes تقديرًا محمولًا لعملية المستند وليس working set لعملية نظام التشغيل، لذا تبقى مستقرة عبر الأجهزة المضيفة، وتشمل بايتات المصدر المحمّلة، ومدخلات الـbitmap المرسومة، ووزن cache الصور المفكوكة، وأقصى تخزين لسلسلة الفلاتر
تمثّل PeakProcessMemoryBytes أكبر working set للعملية تم أخذ عينة منه، بينما تمثّل AllocationCount أكبر زيادة مُعايَنة في كتل مدير ذاكرة Delphi الحيّة في آنٍ واحد بالنسبة لبداية العملية، وليست إجمالي التخصيص طوال العمر
تقيس CPUTimeMicroseconds الـthread المستدعي، بينما تمثّل ReadIOBytes وWriteIOBytes وOtherIOBytes فروقات عدّادات على مستوى العملية بأكملها، وبالتالي قد تشمل عملًا متزامنًا في نفس العملية
تمثّل DecodeInputBytes المدخل المضغوط، وتمثّل DecodeOutputBytes ناتج سلسلة الفلاتر النهائي، وتمثّل DecodedBytes إجمالي العمل عبر كل مرحلة فلتر؛ تقسم DecodeExpansionPermille الناتج النهائي على المدخل، حيث تمثّل 1000 نسبة 1x
تمثّل ScheduledMemoryBytes تقدير قبول العملية، وتسجّل MemorySchedulerWaitMilliseconds وقت الانتظار في الطابور، وتميّز MemorySchedulerDelayed بين القبول المُنتظِر في طابور والمسار السريع الخالي من التخصيص
تستخدم ذاكرة التخزين المؤقت الدائمة ملخّص الحالة نفسه، بينما تبقى أوضاع التراجع (fallback) المنتِجة للتشخيصات في الذاكرة فقط، بحيث لا يمكن لإصابة قرص (disk hit) أن تفقد تقارير الكائنات المتخطّاة