StartRangeSourcePrefetch
문서 관리, 점진적 로딩, 성능
설명
페이지, 폼 또는 간접 객체 의존성 그래프가 필요로 하는 누락된 바이트 범위를 반복적으로 발견하고 가져오는 백그라운드 작업을 큐에 등록합니다
구문
Delphi
Function TPDFlib.StartRangeSourcePrefetch(DataKind, Index, Priority: Integer;
MaxBytes: Int64= 0; ReadAheadBytes: LongInt= 0;
MaxPasses: Integer= 0): Integer;매개변수
| DataKind | PDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM 또는 PDF_RANGE_DATA_OBJECT |
|---|---|
| Index | 1부터 시작하는 페이지 번호, 폼 질의는 0, 또는 간접 객체 번호입니다 |
| Priority | PDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH 또는 CRITICAL |
| MaxBytes | 작업 읽기 예산입니다. 0은 64 MiB를 선택하며 명시적 값은 최소 하나의 원본 청크를 담을 수 있어야 합니다 |
| ReadAheadBytes | 청크 정렬 전에 발견된 각 의존성 범위 뒤에 예약되는 추가 바이트입니다 |
| MaxPasses | 최대 의존성 발견 라운드 수입니다. 0은 128을 선택합니다 |
반환값
성공하면 양수 스트림 로컬 작업 핸들이고, 선택된 문서가 범위 기반이 아니거나 인수가 잘못되면 LastErrorCode가 401로 설정된 0입니다
비고
워커 하나가 각 범위 스트림을 담당하며 대기 중인 가장 높은 우선순위를 고르고, 같은 우선순위 안에서는 FIFO 순서를 유지합니다
워커는 공유 바이트 범위 캐시 위의 격리된 파서를 쓰므로, 의존성 탐색이 전경 문서 작업과 가변 리더 상태를 공유하지 않습니다
바이트 예산에는 격리된 의존성 파서를 초기화하고 전진시키는 동안 수행한 캐시에 없던 읽기도 포함됩니다
프리페치된 바이트는 스트림 캐시 예산과 LRU 축출 정책의 적용을 그대로 받습니다