StartRangeSourcePrefetch
Gestão de documentos, carregamento progressivo, desempenho
Descrição
Coloca na fila um trabalho em segundo plano que descobre e obtém repetidamente os intervalos de bytes em falta exigidos por um grafo de dependências de página, formulário ou objeto indireto
Sintaxe
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 ou PDF_RANGE_DATA_OBJECT |
|---|---|
| Index | Um número de página com base um, zero para a consulta do formulário, ou um número de objeto indireto |
| Priority | PDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH ou CRITICAL |
| MaxBytes | O orçamento de leitura do trabalho; zero seleciona 64 MiB, e um valor explícito tem de comportar pelo menos um bloco de origem |
| ReadAheadBytes | Bytes extra agendados após cada intervalo de dependência descoberto, antes do alinhamento por blocos |
| MaxPasses | O máximo de rondas de descoberta de dependências; zero seleciona 128 |
Valor devolvido
Um handle de trabalho local do fluxo positivo em caso de êxito, ou zero com LastErrorCode definido como 401 quando o documento selecionado não é suportado por intervalos ou os argumentos são inválidos
Observações
Uma worker atende cada fluxo de intervalos e seleciona a prioridade mais alta na fila, preservando a ordem FIFO dentro de prioridades iguaisA worker usa um analisador isolado sobre a cache partilhada de intervalos de bytes, pelo que a descoberta de dependências não partilha estado mutável do leitor com as operações de documento em primeiro planoO orçamento de bytes inclui as leituras não colocadas em cache realizadas ao inicializar e avançar o analisador isolado de dependênciasOs bytes pré-buscados permanecem sujeitos ao orçamento da cache do fluxo e à política de expulsão menos recentemente usada