StartRangeSourcePrefetch
Dokumentverwaltung, progressives Laden, Performance
Beschreibung
Stellt einen Hintergrund-Job in die Warteschlange, der wiederholt die fehlenden Bytebereiche ermittelt und abruft, die ein Seiten-, Formular- oder Indirektobjekt-Abhängigkeitsgraph benötigt
Syntax
Delphi
Function TPDFlib.StartRangeSourcePrefetch(DataKind, Index, Priority: Integer;
MaxBytes: Int64= 0; ReadAheadBytes: LongInt= 0;
MaxPasses: Integer= 0): Integer;Parameter
| DataKind | PDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM oder PDF_RANGE_DATA_OBJECT |
|---|---|
| Index | Eine 1-basierte Seitennummer, null für die Formularabfrage oder eine indirekte Objektnummer |
| Priority | PDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH oder CRITICAL |
| MaxBytes | Das Lesebudget des Jobs; null wählt 64 MiB, und ein expliziter Wert muss mindestens einen Quell-Chunk fassen |
| ReadAheadBytes | Zusätzliche Bytes, die nach jedem erkannten Abhängigkeitsbereich vor der Chunk-Ausrichtung eingeplant werden |
| MaxPasses | Die maximale Anzahl von Abhängigkeits-Erkennungsrunden; null wählt 128 |
Rückgabewert
Bei Erfolg ein positives stream-lokales Job-Handle, oder null, wobei LastErrorCode auf 401 gesetzt ist, wenn das ausgewählte Dokument nicht bereichsbasiert ist oder die Argumente ungültig sind
Anmerkungen
Ein Worker bedient jeden Range-Stream und wählt die höchste eingereihte Priorität, wobei innerhalb gleicher Prioritäten die FIFO-Reihenfolge erhalten bleibt
Der Worker nutzt einen isolierten Parser über dem geteilten Byte-Range-Cache, sodass die Abhängigkeitserkennung keinen veränderbaren Leserzustand mit Vordergrund-Dokumentoperationen teilt
Das Byte-Budget schließt ungecachte Lesevorgänge ein, die beim Initialisieren und Weiterschalten des isolierten Abhängigkeitsparsers anfallen
Vorgeladene Bytes unterliegen weiterhin dem Stream-Cache-Budget und der Least-recently-used-Verdrängungsrichtlinie