Chromium ganha aceleração de GPU
Enviado por Redação iMasters (redacaoΘimasters·com·br):
A novidade tem sido guiada pelo trabalho de desenvolvimento do WebGL e do suporte de transformação em 3D CSS. Isso envolve a incorporação de um novo processo de GPU no modelo de processos do navegador, que realiza requisições de renderização a partir de outros processos do Chromoum através do OpenGL ou do Direct3D, usando ANGLE (Almost Native Graphics Layer Engine)$.
Com o processo do GPU pronto para uso, os desenvolvedores podem começar a acelerar parte do conteúdo do navegador. Páginas são divididas em múltiplas camadas, com algumas sendo renderizadas no processador, como aquelas que contêm textos e imagens simples, e algumas sendo renderizadas na placa de vídeo, como as que possuem textos estilizados com CSS, imagens, vídeos WebGL ou Canvas 2D.
As camadas são posicionadas em uma única página para exibição. Atualmente, o navegador faz essa composição no CPU, eliminado a maior parte da performance obtida com o uso prévio do GPU. Mas se a opção de composição acelerada estiver ativada ao iniciar o Chromium, a composição acontecerá junto à placa de vídeo, permitindo o ganho de performance.
Este documento explica, com mais detalhes, a nova arquitetura de renderização acelerada. (Com informações de H-Online)” [referência: imasters.uol.com.br]
Interessante… Será existirá funcionalidade semelhante para o Firefox? Seria legal.
O firefox 4 sim(http://blog.mozilla.com/joe/2010/05/25/hardware-accelerating-firefox/) e o IE9(para os que usam rwindows..) também.
Sim, o Firefox 4 terá a mesma funcionalidade.
@devnull, os desenvolvedores da mozilla já tem recurso semelhante no firefox 4.0 para Windows, mas ainda faltam para Mac e Linux.
Mas o mais engraçado é que o pioneiro (o primeiro a ter o recurso) será o IEca 9!
Esta versão no chromium funciona em Linux tbm? Tô atualizando o chromium (versão em desenvolvimento corrente) aqui para ver se vejo alguma coisa do tipo.
Darei uma olhada nos documentos, pois achei muito boa a iniciativa. O pessoal do chromium é bem mais ágil que o da Mozilla em termos de prazos.
Hum…. interessante.
Basta iniciar o navegador com a opção –enable-accelerated-compositing.
Em seguida acesse o endereço: http://webkit.org/blog-files/3d-transforms/poster-circle.html
Talvez o problema esteja na minha placa de video, mas não achei assim tão mais rápido não. Ok, mas a tecnologia está em início de vida :-)
Pra mim o mais necessário é mesmo a parte de execução de videos, onde o canvas dos navegadores ainda perde feio para o flash.
Essa alteração não está no branch dev do Chrome(e muito provavelmente nem no Chromium).
Talvez exista um suporte bem básico na build Canary.
Pelo que eu acompanho na dev-list do Chromium, eles ainda estão implementando a solução, tanto em Windows quanto em Mac e Linux.
uahsuahsuh nem posso … o desacelerador gráfico do meu note é SiS =(
@Limão, creio que parte do código já tenha sido incluída, pois senti diferença nas páginas indicadas pelo texto da especificação, e as opções referentes à nova funcionalidade fizeram efeito, dando diferença no funcionamento do navegador.
Mas o correto mesmo é olhar os changelogs :-)
Ah sim, acima eu disse que o IEca será o primeiro, mas o Safari no Mac já suporta este recurso já há um tempo.
Neste domingo notei que o Chromium que é solto 1 ou 2 vezes atualizado por dia pelo PPA de desenvolvimento do Launchpad tinha um processo chamado GPU.
Nesta versão do PPA de desenvolvimento já está habilitado.
Quando falou em aceleração com GPU achei que iria ser código CUDA/OpenCL heheheh
Fui traído pelo lead.
Bom, não é uma notícia tão bacana quanto eu pensei que fosse, mas é legal também =)
@Leonardo, de fato, openCl ou CUda seria bem melhor. Acho que só vão implementar isso quando existir vídeo onboard que suporte isso(AMD Fusion/Intel Sandy bridge), afinal, de que adianta fazer isso agora se o alcance será 5%(ou menos) dos usuários?
@Leonardo, acontece que o CUDA é uma tecnologia proprietária e de código fechado que só funciona nas placas da NVIDIA. Já o OpenCL não está disponível para placas de video não-tão-novas. Ok, OpenCL funciona bem no Mac, mas pq todo o hardware e software dele é estritamente homologado.
A opção de ativação do suporte à GPU na renderização do Chroium ainda é bastante instável de acordo com os testes que começamos aqui na empresa.
Diversas vezes com ele ativado, o Chromium quebra totalmente fechando a janela ou ainda quebra a aba que entrou em determinados sites.
Mas quando ele não quebra, realmente percebemos melhora na resposta de renderização.
É promissor. Mas ainda bastante instável.
@André Luis Pereira dos Santos, percebi isso aqui também. Mas onde funciona, funciona muito bem. Claro que não é aqueeeele desempenho, mas a coisa está começando agora. Ao menos eles suportam o Linux, coisa que a Mozilla ainda não começou a fazer.
O crucial hoje em dia em se tratando de desempenho é o elemento canvas e a execução de videos (a tag video usa um canvas tbm), pois ainda é muito lento, se comparado ao Flash ou a um video num player nativo.
Ter SVG acelerado também seria muito bom. SVG é uma coisa que até o chrome pena pra renderizar. E com SVG dá pra se fazer muita coisa em termos de interfaces mais amigáveis e interativas.
Agora é esperar como a coisa vai evoluir nos próximos meses/anos.
O grande problema é que isso abre dependencia para GPU no navegador .Espero que sites não utilizem a velocidade com aceleração gráfica como a padrão .
Cruz credo! Tu pareces o Hardy, aquela hiena triste do desenho do Lippy e Hardy (http://bwyse.com/images/Lippy_The_Lion_Hardy_Har_Har.jpg)
“Oh céus! Oh dia! Oh vida! Oh azar! Nenhuma notícia é boa! Todos estão contra mim! As corporações, o desempenho dos navegadores, a sociedade, as pessoas, os usuários, os desenvolvedores, os consumidores, os distribuidores, a mais-valia! Só espero encontrar alguma coisa pra reclamar da aceleração dos gráficos nos navegadores!”
Mas não quero discutir o meu aspecto pessoal .Com a minha opinião dou a dizer que toda a inovação tem que tomar cuidado .E que devemos acabar com a onda hiper-positiva de tudo.
@Celi, você esqueceu dos iluminati. heheheheh
@self_liar
Não haverá dependência do Chromium em relação à qualquer GPU.
Se a maquina tem uma GPU ele usa, se não tem, ele não usa.
Descobri que no atual build, o Chromium aparentemente está aproveitando até a GPU VIA Chrome de uma maquina de testes nossa na empresa.
Olha que aproveitar uma VIA Chrome como GPU é raro. É um lixo de GPU e mesmo assim acelerou o Chromium na hora de renderizar elementos complexos em canvas.
Parece que vai ser um belo recurso no Chromium, que aliás é de código aberto.
@tenchi
Pra quê SVG se tem o canvas que é muito melhor.
SVG só presta para exibir imagens e mesmo assim de forma precária comparado ao canvas.
@André Luis Pereira dos Santos, parece-me que este é o futuro dos navegadores. Boa parte das pessoas possui um computador com um bom chip gráfico mas acabam não o utilizando em todo seu potencial e em outras áreas, como no caso das aplicações web que estão ficando cada vez mais interativas e comedoras de recursos (Flash está aí para mostrar que as pessoas gostam de aplicações web interativas, embora o flash em si seja uma droga :-)).
É natural que as grandes corporações queiram investir neste tipo de tecnologia que consiga aproveitar melhor o poder do hardware existente e o que virá.
E para o google, sendo uma empresa que vive de Web, investir nesta
ideia é a coisa mais natural e sensata a se fazer.
HTML5 está indo de vento em poupa, mas ainda há muita despadronização. Quando o padrão se estabilizar, as empresas dr criação começarem a criar ferramentas que facilitem a criação de conteúdo para a web aberta e os navegadores forem capazes de manipular este conteúdo (sim, a maioria das coisas em html5 hoje são feitas com programação pura, sem ferramentas visuais), aí teremos uma web realmente ubiqua e sem necessidade de tecnologias proprietárias, tais como flash e silverlight (ambas já possuem aceleração gráfica).
@Heaven, canvas é baseado em pixels (bitmap), svg é baseado em gráficos vetoriais (equações) e por isso não sofre distorções com mudanças de resolução.
Elementos de SVG podem ser acessados pela arvore DOM, enquanto que canvas não.
Canvas não serve para competir com o flash em tudo, pq o flash é vetorial e muito rápido. SVG é uma tecnologia pronta e feita para a web.
SVG é uma tecnologia muito boa, mas pouco explorada. Eu espero ansioso o dia em que inplementarem como complemento para o inkscape uma IDE que permita a edição fácil de arquivos SVG com programação (javascript) pura, de maneira realmente eficiente.
Se engana que SVG serve só para imagens. Ele suporta animações e pode ser utilizado para desenhar interfaces de aplicações bastante interativas, inclusive com animações (SMIL).
Mas até hoje nenhum grande navegador suporta algo próximo ou mesmo 100% do que o SVG pode fazer.
Quer um exemplo?
http://codinginparadise.org/projects/svgweb/samples/svg-files/photos.svg
Nossa!
Demais o SVG :D
Não sabia o poder dele.
Nossa, legal esse SVG que o Tenchi passou. Mas só no Firefox, no meu caso. Testei esse arquivo em três navegadores, no Windows XP 32 bits:
IE 8 – ele nem abre.
Chrome 5 – ele abre mas fica lentíssimo.
Firefox 3.5 – abre e fica perfeito.
Não tenho Linux no meu trabalho para testar. Só em casa.
Outro exemplo do que pode ser feito com a ajuda de svg:
http://mrdoob.com/lab/javascript/waveform/
O IEca não suporta SVG e nem vai suportar tão cedo. Como dito, é uma tecnologia pouco explorada nos navegadores atuais.
@Felipe, O chrome suporta bem svg. Aqui, mesmo com o 7, ficou lento, o que é bem estranho. já que o chrome suportar bem svg.
Um outro cara especializado em SVG é a biblioteca JS Raphael:
http://raphaeljs.com/
Marcos Alex
Não venha com suas difamações .Isso não tem nada a ver .Pare com isso.Está agindo como troll.
tenchi,
“O IEca não suporta SVG e nem vai suportar tão cedo.”
Justifique. Olha só:
http://img838.imageshack.us/img838/6439/ie9.png
E fica totalmente leve e fluido (aceleração por hardware FTW!).
putz, e driver open-source com aceleração de hardware que é bom, nada, né? Não é um problema para o Stallman em seu mundo de linha-de-comando e páginas web entregues no email, mas para quem trabalha com gráficos vetoriais ou renderização 3D, é um grande problema que CPUs tenham ficado tão atrás em puro poder computacional…