StartRangeSourcePrefetch
Gestión de documentos, carga progresiva, rendimiento
Descripción
Encola un trabajo en segundo plano que descubre y obtiene repetidamente los rangos de bytes ausentes requeridos por el grafo de dependencias de una página, formulario u objeto indirecto
Sintaxis
Delphi
Function TPDFlib.StartRangeSourcePrefetch(DataKind, Index, Priority: Integer;
MaxBytes: Int64= 0; ReadAheadBytes: LongInt= 0;
MaxPasses: Integer= 0): Integer;Parámetros
| DataKind | PDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM o PDF_RANGE_DATA_OBJECT |
|---|---|
| Index | Un número de página con base 1, cero para la consulta del formulario, o un número de objeto indirecto |
| Priority | PDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH o CRITICAL |
| MaxBytes | El presupuesto de lectura del trabajo; cero selecciona 64 MiB y un valor explícito debe cubrir al menos un bloque de origen |
| ReadAheadBytes | Bytes adicionales programados después de cada rango de dependencia descubierto antes de la alineación de bloques |
| MaxPasses | El máximo de rondas de descubrimiento de dependencias; cero selecciona 128 |
Valor devuelto
Un manipulador de trabajo local de flujo positivo en caso de éxito, o cero con LastErrorCode establecido en 401 cuando el documento seleccionado no tiene respaldo de rangos o los argumentos no son válidos
Observaciones
Un worker atiende cada flujo por rangos y elige la prioridad en cola más alta, preservando el orden FIFO dentro de prioridades iguales
El worker usa un analizador aislado sobre la caché por rangos de bytes compartida, así que el descubrimiento de dependencias no comparte estado mutable de lector con las operaciones de documento en primer plano
El presupuesto de bytes incluye las lecturas sin caché realizadas al inicializar y avanzar el analizador de dependencias aislado
Los bytes precargados siguen sujetos al presupuesto de la caché de flujos y a la política de desalojo por menos uso reciente