Verzögertes Laden des Seitenbaums
HotPDF kann einen gewöhnlichen geladenen PDF-Seitenbaum als kompakte Platzhaltertabelle behalten und einzelne Seiten erst auflösen, wenn eine API sie erstmals benötigt
Aktivierung
LazyPageTreeThreshold ist standardmäßig 4096 Seiten und gilt für gültige Seitenbäume, deren Wurzel eine nutzbare /Count- und /Kids-Struktur offenlegt
Setzen Sie den Schwellenwert vor dem Laden auf 0, um die verzögerte Seitenbaumbehandlung zu deaktivieren
Dateien unterhalb des Schwellenwerts und fehlerhafte Bäume durchlaufen weiterhin den vorhandenen gierigen Wiederherstellungspfad
Wahlfreier Zugriff
Der erste Zugriff auf eine Seite folgt den /Count-Werten des Teilbaums, um nicht zugehörige Äste zu überspringen, und löst indirekte Objekte über einen dokumentlokalen Index mit offener Adressierung auf
Die aufgelöste Seite wird in ihrem Platzhalterfeld gespeichert, sodass wiederholter Zugriff ein direkter Cache-Treffer ist
Gewöhnliche APIs für geladene Seiten materialisieren die angeforderte Seite transparent, während MaterializeLoadedPage Aufrufern erlaubt, eine bekannte Seite ausdrücklich vorzubereiten
Vollständige Erweiterung und Mutation
MaterializeAllLoadedPages erweitert den restlichen Baum in kanonischer Seitenreihenfolge
Operationen, die geladene Seiten strukturell hinzufügen, löschen, kopieren, ersetzen, verschieben, umkehren, tauschen, neu aufbauen oder speichern, führen vor Mutation oder Serialisierung des Seitengraphen eine vollständige Erweiterung aus
Dies bewahrt die bisherigen Mutations- und Speichersemantiken und hält leseorientierten Zugriff proportional zur Tiefe des durchlaufenen Asts
Telemetrie
GetLoadedPageTreeStatistics meldet Platzhalterspeicher, materialisierte Seiten, Durchquerungstiefe und -arbeit, Kapazität des Objektindexes, Cache-Aktivität und vollständige Erweiterungen, ohne die Materialisierung zu erzwingen
Eine Regressionssperre prüft 100.000 Seiten mit höchstens 256 MiB Wachstum des Arbeitssatzes und höchstens 500 ms für den ersten wahlfreien Zugriff auf unterstützten Windows-Zielen
Siehe auch: LazyPageTreeThreshold, MaterializeLoadedPage, MaterializeAllLoadedPages, GetLoadedPageTreeStatistics