THotPDF imported resource deduplication
하나 이상의 소스 문서에서 같은 대상으로 페이지를 복사하는 동안 동등한 불변 resource를 재사용합니다
Delphi 구문
function GetImportedResourceDedupStatistics( out Statistics: THPDFImportedResourceDedupStatistics): boolean; procedure ClearImportedResourceDedupCache;
설명
CopyPageFromDocument와 관련 그래프 복사 경로는 indirect image, Form XObject, Pattern, 내장 폰트 프로그램, Font, ExtGState resource에 대해 정규화된 SHA-256 fingerprint를 만듭니다. 딕셔너리 키는 해시 전에 정렬되고, indirect 의존성은 resolve되며, stream 콘텐츠는 현재 위치를 바꾸지 않고 해시됩니다
캐시는 대상 문서에 속하며, 페이지를 여러 번 복사하거나 소스 문서 인스턴스가 달라져도 계속 사용됩니다. 새 문서나 로드된 파스 그래프가 시작되거나 graph transaction이 commit·rollback되면 자동으로 비워집니다
GetImportedResourceDedupStatistics는 캐시된 resource 수와 캐시 hit·miss 횟수를 반환합니다. ClearImportedResourceDedupCache는 대상 문서에 이미 들어 있는 객체를 건드리지 않으면서 항목과 카운터를 모두 비웁니다
공유되는 것은 indirect resource뿐입니다. 페이지 딕셔너리, 주석, content stream, 임의의 변경 가능한 딕셔너리는 계속 독립적인 복사본을 받습니다