遅延ページツリーロード
HotPDF は、通常のロード済み PDF ページツリーをコンパクトなプレースホルダーテーブルとして保持し、特定のページを API が最初に必要とした場合のみ解決できます
アクティブ化
LazyPageTreeThreshold はデフォルトで 4096 ページであり、ルートが使用可能な /Count と /Kids 構造を公開する有効なページツリーに適用されます
遅延ページツリー処理を無効にするには、ロードする前にしきい値を 0 に設定してください
しきい値を下回るファイルと不正なツリーは、既存の即時回復パスを通って進み続けます
ランダムアクセス
ページへの最初のアクセスは、関連のないブランチをスキップするためにサブツリーの /Count 値に従い、ドキュメントローカルのオープンアドレス方式インデックスを通じて間接オブジェクトを解決します
解決されたページはプレースホルダースロットに格納されるため、反復アクセスは直接のキャッシュヒットになります
通常のロード済みページ API は要求されたページを透過的に実体化し、MaterializeLoadedPage は呼び出し元が既知のページを明示的に準備できるようにします
完全展開と変更
MaterializeAllLoadedPages は、残りのツリーを正規のページ順で展開します
ロード済みページを構造的に追加、削除、コピー、置換、移動、反転、交換、再構築、保存する操作は、ページグラフを変更または直列化する前に完全展開を実行します
これにより、既存の変更と保存のセマンティクスを維持しながら、読み取り志向のアクセスを走査されるブランチ深さに比例させます
テレメトリ
GetLoadedPageTreeStatistics は、実体化を強制せずに、プレースホルダーストレージ、実体化されたページ、走査深さと作業、オブジェクトインデックス容量、キャッシュアクティビティ、完全展開を報告します
リグレッションゲートは、100,000 ページを 256 MiB のワーキングセット成長上限と、サポート対象の Windows ターゲットで 500 ms の最初のランダムアクセス上限でカバーします
関連項目: LazyPageTreeThreshold, MaterializeLoadedPage, MaterializeAllLoadedPages, GetLoadedPageTreeStatistics