Como funciona a aceleração de hardware no IE9 e como a concorrência pensa em responder

16:28:00 0 Comments A+ a-

O futuro da web está aí e os navegadores buscam maneiras para carregar páginas com mais velocidade.


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.

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.

O Chrome “mineirinho”

O navegador da Google certamente está de olho nessa corrida dos navegadores, mas bem ao estilo da empresa: sem muito alarde, sem pressa. No começo de outubro, a empresa anunciou que a aceleração por hardware só está nos planos da versão 9 do navegador. Considerando que não há sequer a versão 7 estável e que a 8 está nos primeiros Betas para desenvolvedores, isso pode levar algum tempo.

As funcionalidades de aceleração, que estavam inicialmente planejadas para a versão 8 mas foram postergadas, incluem suporte para grandes camadas de imagem, ajustes de opacidade e suporte para funções CSS (com habilidade para a criação de reflexos, sombras e máscaras).

Mas isso não significa que o Chrome não busca outras maneiras de ser rápido. Muito pelo contrário, foi a Google quem lançou a faísca da guerra de velocidade entre os navegadores mais populares. O Chrome sempre buscou velocidade, porém com foco em outra tecnologia: o WebGL.

WebGL é um API para Javascript semelhante ao OpenGL, utilizado para desenhar objetos tridimensionais, e por isso considera-se que ele é uma aceleração em si. Ele pode ser habilitado nas versões de teste do navegador, mas ainda não é disponibilizado por padrão.

Chrome com WebGL em execução.

O problema com esta tecnologia é que o WebGL depende dos drivers OpenGL, e nem todos os sistemas têm esses drivers instalados. A fim de solucionar este problema, o Chrome baseia-se no ANGLE (sigla para Almost Native Graphics Layer Engine), um projeto para a execução do WebGL diretamente no navegador sem a necessidade de drivers ou plugins adicionais.

No site Chromium Projects, é possível acompanhar a evolução do Chrome nesse quesito. Em setembro de 2010 foram disponibilizadas algumas demonstrações. Agora é esperar as próximas versões do navegador para conferirmos como ele se posiciona nessa briga.

Safari ainda "enjaulado"

O navegador da Apple passou a contar com aceleração de hardware a partir da versão 5, da segunda metade de 2010. A Microsoft não perdeu tempo e, pouco tempo após o lançamento da Apple, colocou os dois navegadores lado a lado. Nos resultados dos testes, o desempenho do IE9 foi muito superior ao do Safari: 50 FPS contra 9 FPS.

A corrida está apenas começando

Percebe-se que a Microsoft encabeça essa corrida por enquanto, com a aceleração de hardware mais eficiente, estável e habilitada por padrão. A Mozilla vem logo atrás, porém com parte do recurso ainda desabilitado por padrão. A Google investe em uma alternativa, enquanto a Apple, aparentemente, não utiliza a aceleração de hardware como um chamariz para o seu navegador.

Fique atento, pois essa corrida está apenas no começo. Navegadores são excelentes produtos para que empresas busquem inovações e apliquem novas tecnologias, vide a constante disponibilização de novidades em versões Beta. Quem ganha é o usuário, que fica mais próximo de ter um browser adequado para trabalhar com o conteúdo cada vez mais rico das páginas da web.