StartRangeSourcePrefetch

Gestion de documents, chargement progressif, performances

Description

Place dans la file un travail d'arrière-plan qui découvre et récupère de manière répétée les plages d'octets manquantes requises par un graphe de dépendances de pages, de formulaires ou d'objets indirects

Syntaxe

Delphi

Function TPDFlib.StartRangeSourcePrefetch(DataKind, Index, Priority: Integer;
  MaxBytes: Int64= 0; ReadAheadBytes: LongInt= 0;
  MaxPasses: Integer= 0): Integer;

Paramètres

DataKindPDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM ou PDF_RANGE_DATA_OBJECT
IndexUn numéro de page à base 1, zéro pour la requête de formulaire, ou un numéro d'objet indirect
PriorityPDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH ou CRITICAL
MaxBytesLe budget de lecture du travail ; zéro sélectionne 64 Mio et une valeur explicite doit tenir au moins un bloc source
ReadAheadBytesOctets supplémentaires programmés après chaque plage de dépendances découverte avant l'alignement sur les blocs
MaxPassesLe nombre maximal de tours de découverte des dépendances ; zéro sélectionne 128

Valeur de retour

Un handle de travail positif local au flux en cas de succès, ou zéro avec LastErrorCode défini à 401 lorsque le document sélectionné n'est pas adossé à des plages ou que les arguments sont invalides

Remarques

Un worker sert chaque flux de plages et choisit la priorité en file la plus haute, en préservant l'ordre FIFO au sein des priorités égales

Le worker utilise un analyseur isolé sur le cache de plages d'octets partagé ; la découverte de dépendances ne partage donc pas d'état de lecteur mutable avec les opérations documentaires de premier plan

Le budget d'octets inclut les lectures non mises en cache effectuées lors de l'initialisation et de l'avancement de l'analyseur de dépendances isolé

Les octets préchargés restent soumis au budget du cache de flux et à la politique d'éviction selon le moins récent usage