THotPDF.BuildLoadedObjectDependencyGraph Method
Postaví deterministický dependency graph aktuálního načteného dokumentu a přiřadí odhadovanou retained paměť přes dominator tree rooted v Catalogu
Deklarace
function BuildLoadedObjectDependencyGraph(
out Nodes: THPDFObjectDependencyNodeArray;
out Edges: THPDFObjectDependencyEdgeArray;
out AInfo: THPDFObjectDependencyGraphInfo;
MaxObjects: Integer = 250000;
MaxEdges: Integer = 2000000
): boolean;
Uzly
EstimatedShallowByteszahrnuje instanci objektu, přímo vlastněné hodnoty, klíče a seznamy dictionary a rezidentní in-memory payloady streamů, ale vylučuje odkazované indirect objectsEstimatedRetainedBytespřičte shallow bajty každého objektu dosažitelného z Catalogu, který tento uzel dominuje, a sdílené dependency počítá jen jednouImmediateDominatorObjectNumbera jeho generace identifikují nejbližšího povinného vlastníka, případně-1pro Catalog a nedosažitelné objects- Počty vstupních a výstupních hran zachovávají multiplicitu reference slotů, zatímco
ReachableFromCatalogrozlišuje živou strukturu dokumentu od odpojených objektů
Hrany a limity
Každá hrana zaznamená identitu zdrojového a cílového objektu, path reference slotu v dictionary nebo array a to, zda se cíl vyřešil přesně podle object number a generace
Metoda odmítne počty objektů či hran nad volajícím zvolenými limity, zanoření direct objektů hlubší než 256 úrovní, deformované cykly direct containment i dominator analýzu, která přesáhne 128 konvergenčních průchodů
Hodnoty paměti jsou přenositelné odhady pro přiřazování a porovnávání, nikoli měření procesu přesné na úrovni alokátoru