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

DataKindPDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM ou PDF_RANGE_DATA_OBJECT
IndexUm número de página com base um, zero para a consulta do formulário, ou um número de objeto indireto
PriorityPDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH ou CRITICAL
MaxBytesO orçamento de leitura do trabalho; zero seleciona 64 MiB, e um valor explícito tem de comportar pelo menos um bloco de origem
ReadAheadBytesBytes extra agendados após cada intervalo de dependência descoberto, antes do alinhamento por blocos
MaxPassesO 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