Navegadores querem a velocidade por meio da aceleração de hardware.

Um conceito cada vez mais fortalecido em termos de tecnologia de processamento é a aceleração por hardware, ou seja, a utilização de componentes físicos de um computador para executar funções específicas. Como consequência, exige-se menos do processador e ganha-se muito em velocidade.

As placas de vídeo modernas são exemplos de aceleração por hardware. Elas são muito avançadas, capazes de executar operações específicas a fim de processar gráficos com muito mais velocidade que processadores comuns.

Em vez de utilizar o processador da máquina, elas recorrem ao processador próprio, o que deixa a construção gráfica mais rápida e eficiente. Resumindo: sempre que possível, a placa de vídeo é utilizada no lugar do processador.

Como a internet se aproveita do conceito?

Cada navegador tem uma arma em busca da velocidade.Nesse contexto de uma tecnologia crescente, a internet busca meios para se aproveitar da aceleração por hardware e carregar as páginas mais rapidamente.

Pense nos sites modernos e em todos os objetos que os compõem. Textos são apenas o básico. Hoje, imagens, vídeos e diversos conteúdos multimídia recheiam a web.

Tanto conteúdo exige muito boa conexão com a internet e boa capacidade de processamento.

A aceleração por hardware então passou a ser aplicada aos navegadores como um recurso para ajudar os usuários a aproveitar todo o conteúdo da internet de maneira cada vez mais ágil, com gráficos ricos e de alta qualidade processados mais rapidamente.

No Internet Explorer 9

Em novembro de 2009, a Microsoft anunciou que o IE passaria a utilizar os recursos DirectX e DirectWrite para que a tarefa de renderizar gráficos de uma página fosse executada pela unidade de processamento gráfico (GPU), e não pelo processador do computador.

Poucos meses depois, em março de 2010, o primeiro preview da nova versão do IE foi disponibilizado e com o recurso de aceleração de HTML5 habilitado por padrão. Já naquela versão, todos os elementos da página eram carregados via hardware: texto, imagens, backgrounds, bordas, gráficos vetoriais, além de vídeo e áudio HTML5.

Confira na animação abaixo como o navegador da Microsoft utiliza a aceleração de hardware:

Um navegador pode carregar toda uma página ou apenas alguns elementos com a aceleração de hardware. Também é possível não utilizar a aceleração em alguns momentos. Com base nas informações do IE Blog, a aceleração de uma página no Internet Explorer é dividida em três fases.

A primeira etapa é denominada “Renderização de Conteúdo” (Content Rendering). Nela, imagens e vídeos da página são baixados, decodificados e armazenados no processador gráfico (GPU) juntamente com objetos complexos da página, como gráficos vetoriais.

Ao mesmo tempo, elementos simples da página são desenhados diretamente no buffer da página. O uso do processador para renderizar as páginas gera gráficos mais nítidos. Texto, imagens, fundos e bordas, todos são carregados mais rapidamente.

O IE9 está ligeiramente à frente da concorrência neste quesito.A segunda etapa da aceleração por hardware é a “Composição da Página” (Page Composition). Aqui, o conteúdo processado pela GPU é mesclado com os elementos simples e a visualização da página completa é finalizada.

Durante a composição da página, aproveita-se a alta velocidade do processador gráfico para desenhar imagens bitmap. Como a memória própria da GPU armazena imagens, o recarregamento de páginas pesadas fica muito mais rápido.

Por último, o Windows Desktop Manager compõe a tela final com a ajuda da GPU, mas sem sobrecarregá-la. Como o IE9 utiliza o DirectX nessa parte, o processo é bastante estável.

É possível desabilitar a aceleração de hardware no Internet Explorer 9. Confira como neste artigo.

No Mozilla Firefox

O projeto da versão 3.7 do Firefox previa a utilização do Direct2D, uma engine de rendererização desenvolvido pela Microsoft para o Windows 7. O navegador já conseguia carregar alguns elementos da página com o uso da GPU, segundo informações dos desenvolvedores quando a versão foi anunciada.

Era o estágio inicial da pesquisa e implementação da nova tecnologia ao maior concorrente do Internet Explorer. Essa versão do navegador da Mozilla, no entanto, foi deixada de lado e não foi lançada oficialmente. É possível encontrar arquivos de instalação de uma suposta 3.7 Alpha, mas nada foi oficializado.

A Mozilla agora disponibiliza atualizações para o Firefox 3.6 e, ao mesmo tempo, lança versões Beta da versão 4. Em uma dessas versões (Beta 4, de agosto de 2010), a aceleração por hardware propriamente dita foi finalmente adicionada. O recurso, no entanto, não era habilitado por padrão em sua totalidade.

O Firefox disponibilizou aceleração a partir da versão 4.0 Beta 4.

De acordo com o site Mozilla Hacks, há dois níveis diferentes de aceleração por hardware no Firefox. O primeiro é a aceleração de conteúdo, que deixa mais rápida a renderização de conteúdos como texto, imagens, bordas CSS, etc. Isso é feito aproveitando o Direct2D do Windows 7. A aceleração de conteúdo é ativada por padrão desde a última versão Beta do navegador (Beta 8).

O outro estágio é a aceleração da combinação das imagens (Compositing Acceleration), que nada mais é do que a junção das partes do conteúdo já renderizado a fim de montar a imagem final. Durante esse processo, é possível a aplicação de efeitos.

Por exemplo, se você tem um vídeo HTML5 em execução e com efeitos CSS, todos esses elementos são unidos com a aceleração de composição, o que deixa tudo mais rápido e com melhores efeitos. Esse tipo de aceleração, no entanto, não é habilitada por padrão.

No vídeo abaixo, você confere uma exibição do Firefox carregando uma página com e sem aceleração por hardware. No segundo caso, a taxa de quadros chegou a 91 FPS, contra apenas 12 FPS obtidos sem aceleração.