É difícil dizer quanto tempo levará para criar uma captura, pois nem sempre o tempo é realmente usado para renderizar a captura. Por exemplo, também é necessário algum tempo para carregar o site ou HTML de destino. Para acelerar a renderização da captura de tela, verifique primeiro se você não está usando um atraso ao gerar capturas de tela.
Próxima verificação, o que método de recuperação você está usando para ser notificado de que sua captura está concluída? O método síncrono, SaveTo é muito mais lento que o método assíncrono Save. Enquanto o SaveTo O método deve pesquisar o GrabzIt a cada três segundos para determinar se uma captura de tela está concluída, enquanto o método assíncrono chama seu URL de retorno de chamada assim que a captura de tela estiver pronta.
Outras técnicas que podem melhorar o tempo de captura incluem:
- Bloqueio de anúncios, isso reduz o tempo necessário para capturar algumas páginas da Web em 50%.
- Se você estiver tentando capturar um site hospedado em uma parte específica do mundo, especifique um país perto desse local.
- Se você estiver tentando capturar sites hospedados em todo o mundo, use os recursos exclusivos do GrabzIt. Recurso de segmentação geográfica.
- Se você estiver convertendo HTML into, documentos PDF ou DOCX tentam incorporar imagens referenciadas (como URIs de dados), scripts e arquivos CSS diretamente into HTML. Isso reduzirá o número de recursos que precisam ser carregados antes que o HTML possa ser convertido. Além disso, se você puder remover qualquer HTML redundante que não precise aparecer na saída, como comentários e elementos HTML ocultos. Como isso reduzirá o tempo necessário para converter o HTML.
- Se você é criando capturas em HD, verifique se você não está definindo os parâmetros de largura e altura da imagem para algo diferente de -1. Como isso reduziria a imagem HD novamente, seria contraproducente e demorado.
- utilização local or proxies globais adiciona saltos extras into a transmissão em rede. Use proxies apenas se for necessário.
Outra questão pode ser o tempo que leva para baixar uma captura de tela. Primeiro, verifique o tamanho das capturas que você está produzindo, se forem arquivos grandes, você poderá tentar melhorar o tempo de download executando um ou mais dos seguintes procedimentos:
- Reduza o tamanho da imagem, alterando a largura e a altura da saída.
- Reduza o qualidade da captura.
- Use um formato de imagem mais compactado, como PNG.
Finalmente, se você controla a página, está fazendo uma captura de tela da tentativa de otimizá-la. Isso exigirá um pouco de teste de sua parte, mas poderia save você vários segundos. Algo a tentar inclui compactar imagens, scripts e CSS ou até incorporar recursos diretamente into HTML da página da web. Isso evita solicitações separadas ao gerar a captura da web.
Aprimoramentos específicos da API JavaScript
Embora muitas das otimizações acima possam ser implementadas ao usar a API JavaScript, como o JavaScript é executado no navegador e não no lado do servidor, há uma série de possíveis otimizações e problemas exclusivos.
Considere usar o preconnect
técnica. Isso garantirá que a resolução do DNS e qualquer handshake SSL necessário sejam concluídos antes da primeira chamada à API do GrabzIt. Para fazer isso, adicione o seguinte código ao HEAD
tag da página HTML em que o GrabzIt está sendo usado.
<link rel="preconnect" href="https://api.grabz.it" crossorigin>
<link rel="preconnect" href="https://grabz.it" crossorigin>
Observe que se o seu site for HTTP
somente, você precisará alterar os URLs acima para usar http
e não https
.
Se você estiver usando JavaScript Método DataURI isso adicionará uma sobrecarga extra em comparação com as APIs do servidor, pois o JavaScript precisa ler uma imagem como bytes e convertê-la em um URI de dados.