การวินิจฉัยการเรนเดอร์และเทเลเมทรีการทำงาน
HotPDF แยกรายการแคชหน้าที่เรนเดอร์ด้วยทุกสถานะที่ผู้เรียกเห็นซึ่งเปลี่ยนพิกเซลหน้า และเปิดเผยการวินิจฉัยแบบมีขอบเขตเมื่อเนื้อหาหน้าไม่สามารถเรนเดอร์ได้สมบูรณ์
ตัวแปรแคชที่รับรู้สถานะ
THotPDF.RenderLoadedPageToBitmapCached คีย์รายการหน่วยความจำด้วยหน้า DPI ความมองเห็นเนื้อหาไม่บังคับที่มีผล THotPDF.RenderColourIntent และ THotPDF.RenderFallbackPolicy
แคชถาวรใช้ไดเจสต์สถานะเดียวกัน ขณะที่โหมดสำรองที่สร้างการวินิจฉัยยังคงเป็นหน่วยความจำเท่านั้น เพื่อให้การตีดิสก์ไม่สูญเสียรายงานออบเจ็กต์ที่ข้ามไป
การเปลี่ยนกลุ่มเนื้อหาไม่บังคับเลือกตัวแปรอื่นแทนการลบบิตแมปก่อนหน้า การสลับชั้นหรือสีอินเทนต์กลับจึงสามารถใช้งานก่อนหน้าได้
สีอินเทนต์
PDF.RenderColourIntent := rciRelativeColorimetric;
Bitmap := PDF.RenderLoadedPageToBitmapCached(0, 144);
rciDocument ให้เกียรติตัวดำเนินการ ri แต่ละสตรีมเนื้อหาและยังคงเป็นค่าเริ่มต้น
ค่าชัดเจนสี่ค่าแทนการเลือกอินเทนต์สตรีมเนื้อหา และถูกใช้กับการแปลงการเติมสีและเส้นขีด ICCBased ถัดไป
นโยบายการสำรอง
PDF.RenderFallbackPolicy := rfpReport;
PDF.RenderFallbackDiagnosticLimit := 256;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
Diagnostics := PDF.GetLastRenderFallbackDiagnostics;
rfpIgnoreคงพฤติกรรมการยอมรับแบบรุ่นเก่าrfpReportบันทึกตัวดำเนินการที่ไม่รองรับ ทรัพยากรที่ขาด ออบเจ็กต์ที่ไม่ถูกต้อง ความล้มเหลวการถอดรหัส ขีดจำกัดการเรียกซ้ำ และชนิดออบเจ็กต์ที่ไม่รองรับrfpStrictทำให้เกิดข้อผิดพลาดที่การสำรองแรกนอกส่วนความเข้ากันได้BXและEXTHotPDF.RenderFallbackDiagnosticLimitผูกการวินิจฉัยที่เก็บไว้THotPDF.LastRenderFallbackDroppedCountรายงานการวินิจฉัยที่ละเว้นหลังขีดจำกัดแบบมีขอบเขตที่กำหนด
THotPDF.GetLastRenderFallbackDiagnostics ส่งคืนชุดที่เก็บไว้ ขณะที่ THotPDF.ClearLastRenderFallbackDiagnostics ล้างมัน รายการโหมดรายงานที่แคชคงชุดการวินิจฉัย การตีแคชหน่วยความจำจึงส่งคืนข้อมูลความสมบูรณ์การเรนเดอร์เดียวกับการเรนเดอร์ดั้งเดิม
เทเลเมทรีการทำงานแบบรวม
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 เธรดปัจจุบัน หน่วยความจำ การจัดสรร I/O กระบวนการ การถอดรหัสตัวกรอง แคช จำนวนออบเจ็กต์ ความสำเร็จ และเมตริกการยกเลิก
การโหลดเอกสาร การเรนเดอร์หน้าแบบซิงโครนัสและแคช ชิ้นส่วนเรนเดอร์แบบค่อยเป็นค่อยไป การปรับสตรีมแบบเลือกสรร และการปรับภาพขนานเผยแพร่รูปร่างเรกคอร์ดเดียวกัน
PeakMemoryBytes เป็นการประมาณการทำงานเอกสารแบบพกพา ไม่ใช่ชุดทำงานกระบวนการระบบปฏิบัติการ จึงเสถียรข้ามโฮสต์ และรวมไบต์ต้นทางที่โหลด รายการบิตแมปที่เรนเดอร์ น้ำหนักแคชภาพที่ถอดรหัส และพื้นที่เก็บห่วงโซ่ตัวกรองสูงสุด
PeakProcessMemoryBytes เป็นชุดทำงานกระบวนการตัวอย่างสูงสุด ขณะที่ AllocationCount เป็นการเพิ่มตัวอย่างสูงสุดของบล็อกตัวจัดการหน่วยความจำ Delphi ที่มีชีวิตพร้อมกันเทียบกับการเริ่มทำงาน ไม่ใช่ยอดการจัดสรรตลอดอายุ
CPUTimeMicroseconds วัดเธรดที่เรียก ขณะที่ ReadIOBytes WriteIOBytes และ OtherIOBytes เป็นเดลตาตัวนับทั่วกระบวนการ ดังนั้นอาจรวมงานพร้อมกันในกระบวนการเดียวกัน
DecodeInputBytes เป็นอินพุตที่บีบอัด DecodeOutputBytes เป็นเอาต์พุตห่วงโซ่ตัวกรองสุดท้าย และ DecodedBytes เป็นงานรวมทั่วทุกขั้นตอนตัวกรอง DecodeExpansionPermille หารเอาต์พุตสุดท้ายด้วยอินพุต โดย 1000 แทน 1x
ScheduledMemoryBytes เป็นการประมาณการอนุญาตเข้าการทำงาน MemorySchedulerWaitMilliseconds บันทึกเวลาคิว และ MemorySchedulerDelayed แยกการอนุญาตเข้าที่รอคิวจากเส้นทางเร็วที่ไม่มีจัดสรร
จุดสูงสุดหน่วยความจำและการจัดสรรถูกตัวอย่างที่ขอบเขตการทำงาน การเสร็จห่วงโซ่ตัวกรอง ชิ้นส่วนแบบค่อยเป็นค่อยไป และจุดตรวจการยกเลิก จึงเป็นสัญญาณการทำงานโอเวอร์เฮดต่ำ ไม่ใช่ร่องรอยโปรไฟเลอร์ระดับคำสั่ง