Grafos de objetos de página liberados

Los trabajos secuenciales grandes pueden descartar los grafos de objetos limpios propiedad de la página después de cada página conservando suficientes metadatos de origen para materializar la página de nuevo bajo demanda

Límite de liberación

ReleaseLoadedPageObjectGraph libera la raíz de página indirecta seleccionada y los objetos anidados directamente propiedad que hay debajo de ella

El recorrido no sigue los enlaces indirectos, por lo que las fuentes compartidas, las imágenes, los diccionarios de recursos, los nodos del árbol de páginas y otros objetos entre páginas permanecen propiedad del documento cargado

Las entradas de lista de visualización y ráster específicas de la página se expulsan en el mismo límite

Seguridad y retención

Las páginas sucias, de escritura obligatoria, activas o que de otro modo no se pueden recargar se conservan y se informan en lugar de descartarse

Las raíces de página respaldadas por archivo directo se recargan desde su desplazamiento de referencia cruzada validado, mientras que las raíces comprimidas se recargan mediante la ruta de miembro del flujo de objetos indexado

Las raíces ordinarias cargadas por flujo o cifradas sin una fuente reproducible de forma independiente permanecen residentes

Procesamiento secuencial

for PageIndex := 0 to PDF.LoadedPageCount - 1 do
begin
  ProcessLoadedPage(PDF, PageIndex);
  PDF.ReleaseLoadedPageObjectGraph(PageIndex);
end;

Un banco de regresión de 100.000 páginas alcanza un pico de 69,3 MiB en Win32, no muestra crecimiento en estado estable y luego rematerializa una página liberada con su número de objeto y sus cajas de página originales

Concurrencia

El acceso al grafo del documento cargado permanece serializado para el llamador

No libere una página mientras otro subproceso esté renderizando, inspeccionando o mutando la misma instancia de documento

Véase también: ReleaseLoadedPageObjectGraph, GetLoadedPageObjectGraphReleaseStatistics, THPDFPageObjectGraphReleaseStatistics, Carga diferida del árbol de páginas, Caché acotada de flujos de objetos