HTML layout caching
Texto HTML, Desempenho, Layout da página
Descrição
Os métodos de medição e desenho HTML compartilham automaticamente plans de layout em cache, com limite, em cada painter
Uma primeira requisição analisa a origem, resolve o CSS, calcula a geometria de linhas, Flexbox, Grid, tabelas e notas de rodapé e registra as operações resultantes de texto, imagem, borda, fundo e link sem gravar no stream de conteúdo da página
Uma requisição de desenho correspondente reproduz essas operações na posição solicitada em vez de analisar ou medir o HTML novamente
Métodos afetados
GetHTMLTextHeightGetHTMLTextWidthGetHTMLTextLineCountDrawHTMLTextDrawHTMLTextBoxDrawHTMLTextMatrixDrawHTMLTextBoxMatrix
Identidade do cache
Os planos são casados pela origem HTML completa, largura disponível, altura opcional de continuação, conjunto de fontes, espaçamento de texto, regras de tags equivalentes, identidades e dimensões de imagens vinculadas e o modo de kerning A posição de desenho é deliberadamente excluída, de modo que um plano medido pode ser reposto em vários locais sem mudar as quebras de linha
A posição de desenho é deliberadamente excluída, então um plano medido pode ser reproduzido em múltiplas localizações sem mudar quebras de linha
Um único plano maior que o alvo de memória permanece disponível para seu desenho imediato e é substituído por atividade posterior, evitando um cache ilimitado no documento inteiro
Segurança de medição
A medição registra fundos estilizados, bordas de tabela, imagens e links como operações diferidas e não os acrescenta à página selecionada
Um plano único maior que o alvo de memória permanece disponível para seu desenho imediato e é substituído por atividade posterior, evitando um cache ilimitado em todo o documento
Segurança da medição
A medição registra fundos estilizados, bordas de tabela, imagens e links como operações diferidas e não os anexa à página selecionada
Resultados de continuação de DrawHTMLTextBox são armazenados com o mesmo plan com altura restrita que é repetido (replay)