Entenda a Aceleração de hardware completa do Internet Explorer 9
by Gabriel Tonobohn
Em Novembro de 2009, os desenvolvedores puderam dar a primeira olhada na aceleração de hardware gráfico em um navegador no PDC. Em Março de 2010, nós lançamos o primeiro Internet Explorer 9 Platform Preview, com suporte ao HTML5 utilizando o poder da GPU. Já naquele lançamento, a aceleração de hardware era utilizada em todos os elementos de todas as páginas – texto, imagens, plano de fundo, bordas, conteúdo SVG, HTML em vídeo e áudio – usando as APIs do Windows DirectX. Com o Platform Preview 3 lançado em Julho, o IE9 introduziu a aceleração de hardware HTML 5 Canvas.
Os navegadores podem usar o hardware para acelerar nenhuma, algumas ou todas as etapas do processamento de páginas HTML. O diagrama abaixo mostra as principais etapas de renderização de uma página no IE9.
Conteúdo de renderização O IE9 acelera a primeira fase, o conteúdo de renderização, usando o Windows Direct 2D e o DirectWrite. Os resultados incluem textos e gráficos vetoriais mais suaves. Acelerar essa fase usando a GPU melhora o desempenho de exibição dos elementos mais comuns do HTML: texto, imagens, bordas e planos de fundo.
Composição da página O IE9 usa o Direct3D para essa próxima fase, dando ao IE um desempenho incrível em cenários com imagens intensivas (veja o exemplo do Tanque de Peixes). A aceleração nessa fase usa as principais características da GPU: a habilidade de desenhar imagens bitmap em alta velocidade. Composição do Desktop Depois que o navegador renderiza o conteúdo e a composição da página, o Windows Vista e o Windows 7 usam a GPU para compor a tela final através do Desktop Windows Manager (DWM). Como o IE9 usa o DirectX e apenas o DirectX, há uma melhor interação entre o navegador e o DWM, usando menos memória da GPU e resultando em uma melhor estabilidade em comparação com browsers que utilizam vários subsistemas diferentes.
Aceleração total vs. parcial
Com o IE9, os desenvolvedores têm uma aceleração de hardware completa, que vai desde os markups até o que é exibido na tela. Outros navegadores geralmente implementam a aceleração em uma fase ou outra, mas nenhum implementou ainda em todas. Para rodar um site em várias plataformas, os desenvolvedores geralmente criam camadas de abstração que, inevitavelmente, comprometem o desempenho da aplicação. Utilizar o poder total da GPU no IE9 foi extremamente desafiador, e escrever para camadas intermediárias e livrarias ao invés do sistema operacional nativo torna isso ainda mais difícil. O Windows DirectX tem o legado de suportar os games 3D mais intensos, e se tornou a melhorar forma de conseguir o poder máximo da renderização pela GPU.
Quando você rodar outros navegadores que suportam a aceleração de hardware, você notará que o desempenho em alguns dos exemplos do site do IE Test Drive é comparável ao desempenho no IE9, mas em outros exemplos não é. Esses demos refletem a diferença entre aceleração de hardware parcial e total.
A aceleração de hardware de vídeo HTML 5 é um grande exemplo. No MIX10, mostramos a vantagem de utilizar o hardware para vídeo. Em Março, mostramos o IE9 tocando dois vídeos HD de 720p em um notebook usando muito pouco da CPU enquanto outro navegador utilizando a CPU perdia quadros e tocava apenas um dos vídeos. Por causa da aceleração de hardware completa, você pode experimentar agora com o IE9 Beta um excelente desempenho vendo esses vídeos enquanto navega na normalmente nas páginas ou em outros aplicativos do seu PC, sem comprometer seu desempenho.
Se você ainda não o fez, não deixe de baixar a versão Beta do Internet Explorer 9, que já está disponível para download no link www.internetexplorer9.com.br
Gostou desse post? Então confira também nosso Twitter e nossa página no Facebook.
Share | Tags: 2 Comments
You must be logged in to comment. Sign in or Join Now Pedrotech
Li em um site que a aceleração atualmente só funciona com GPUs ATI/AMD Radeon da série HD 3000 ou melhor. Eu instalei o IE9 Beta no meu notebook relativamente antigo, e realmente ele não permite ativar a opção de aceleração de hardware. Analizando os valores do registro para opções do Internet Explorer, descobri uma forma de ativar a aceleração em placas da ATI anteriores ao modelo da série HD 3000 (e provavelmente nas nVidia tambem), e após este "tweak" digamos assim, deu pra ver uma grande mudança de performance em varios dos testes do IE Test Drive, mas em outros testes o aumento de FPS foi de 10fps X 4fps em testes com maior requerimento de GPU. Vou testar no outro pc (com video nVidia) pra ver se o aumento é maior.
A aceleração é feita em qualquer GPU (nVidia, AMD/ATI, Intel)? Existe diferença de desempenho entre esses fabricantes?