Desempenho do driver open source da ATI está se aproximando do proprietário
A loooooonga nota do Phoronix mostra, com a quantidade usual de gráficos de testes, uma boa notícia sobre os drivers de código aberto das placas de vídeo ATI: o desempenho deles começa a chegar perto do driver proprietário em várias situações.
A dica vem do NotíciasLinux:
O Phoronix publicou análises realizadas recentemente que demonstram a melhoria de velocidade do driver open-source para placas ATI, comparado ao driver proprietário. (via noticiaslinux.com.br)
• Publicado por Augusto Campos em
2011-01-17
Pra mim isso é uma comparação desnecessária.
Mas, SE (ou não seria QUANDO?) o driver open source for mais rápido que o proprietário, aí a coisa fica interessante. E aí sim valeria a pena a aquisição da minha (primeira) placa de vídeo ATI.
Ainda está muito longe de alcançar, mas é muito legal o trabalho que está sendo feito em cima. Torço para que consigam chegar lá.
Muito boa a notícia. Mas não podemos esquecer que o drive proprietário para Windows é muito mais rápido que do Linux proprietário.
Sds,
Sim o catalyst do windows, devido a sua otimização para o directx aparenta ter um maior desempenho justamente porque roda títulos de games atuais que são, em sua grande maioria, otimizados para o directx.
Exemplo prático: World of Warcraft tem muito mais efeitos e performance quando se usa directx em vez do opengl. É triste mas é a realidade.
Não é culpa do opengl, mas sim dos desenvolvedores que por algum motivo preferem adotar o directx e aprimorar seus games para essa plataforma em vez do opengl.
Salvo as exceções. Ainda existem alguns títulos excelentes rodando primariamente em opengl.
Eu tenho muito respeito pelo phoronix, mas sinceramente achei o título desta reportagem meio sensacionalista. Openarena 80xx.600 , Catalyst= 235fps, driver opensource = 53 fps !! Como pode estar se aproximando ?
O driver para Windows é mais rápido pois não é baseado para games em OpenGL e sim para DirectX , o directx , possui grande diferença para com o opengl .
Quando ao driver ser open source , há vantagens quanto ao proprietário :
É possível , suporte a 3d no Xen nativo , sem o uso de drivers proprietário e com suporte a upgrades de código , melhorado paraq interação com a placa de video .
Esse é só um exemplo , mas com todos os dados disponíveis da placa é possível , mais upgrades a kernel (funções nativas no kernel) ao invês de pequenos modulos proprietários , com possibilidade de não acompanhar as atualizações do kernel (até mesmo que desenvolver driver proprietário e tentar correr com o tempo , se torna desgastante e permuta no não completo suporte ao produto ou com suporte precario)
O fato do driver do windows funcionar com directx não o faz mais rápido que em outros sistemas. Por exemplo, 90% do driver da nvidia é código multi-plataforma, usado tanto no Windows quanto no Mac OS, Linux, Solaris e BSD. Se existir alguma deficiência, elas estão no driver ou no sistema, e não na API.
Além disso, o binário da ATI é conhecido por conter muitos bugs no Linux, mas ter um desempenho equivalente ao do windows no geral.
@Walker, mais que o driver otimizado para DirectX, o próprio hardware da NVidia é projetado com base nos specs do DirectX, daí é complicado funcionar bem com um SDK de uma arquitetura diferente. Outra coisa é que o DirectX no Windows fornecesse acesso ao hardware sem passar pelo SO, nem todo jogo pra Linux usa uma API com isso, além do problema do xorg.
Mas só o fato da ATI (hoje AMD) ter liberado as especificações do hardware pra que seja possível desenvolver drivers abertos já é um avanço.
Sobre o OpenGL, a produtividade de se produzir no DirectX é muito maior, tem muito mais coisa pronta se você não quiser trabalhar em muito baixo nível, o que se faz em 20 linhas do DirextX é preciso de 300 em OpenGL.
Mas isso não é demérito do OpenGL, é uma API mais de baixo nível mesmo, o propósito dele é esse. Talvez para comparar com o DirectX, seria mais apropriado o SDL ou outra biblioteca gráfica do Linux, mas essas APIs ainda precisam evoluir bastante.
Legal. Dentro de dez anos talvez posso jogar F1 2010 e outros via wine.
É uma pena que com o driver open da ATI na minha outra máquina (tenho uma HD3200 onboard), eu não consiga usar nada 3D mais pesado, tenho vários glitches e ocasionalmente o X cai quando tento usar algo 3D.
Só serve pro Compiz mesmo e olhe lá.
Lá na Phoronix você encontra um teste feito entre Linux Nativo, Wine e Windows 7. Utilizando uma placa Nvidia.
Logo se percebe que mesmo o driver da nvidia sendo proprietário esta de igual a outras plataformas.
http://www.phoronix.com/scan.php?page=article&item=wine_win7_2010&num=1
Eu hoje uso placas gráficas da intel porque o fabricante resolveu abrir a especificação do seu projeto para que desenvolvedores possam fazer drivers abertos. As placas ati e nvidia são boas de fato, mas não atendem a este requisito meu
O meu problema com vídeo Intel é que o driver pra Linux está a anos-luz do driver pra Windows.
marcosalex
Certais coisas que você falou são contestáveis. O Linux também consegue acesso direito ao hardware através do DRI. E existem muitas facilidades hoje em programar OpenGL.Além de tudo é um padrão mais adaptável que sempre tem mais facilidade de adotar tecnologias através das extensões. E alguns casos pode ser mais rápido que o Directx.
@marcosalex, nunca programei nada “3D”, usando DX, OpenGL ou o que quer que seja. Mas gostaria que vc nos indicasse onde podemos encontrar exemplos de funcionalidades implementadas neste esquema 300×20 que você citou.
Não duvido que existam, já que, como disse, opengl não é uma api primariamente para jogos. Ela é extremamente genérica, podendo ser utilizada para tudo, inclusive jogos. Talvez seja por isso que não provenha coisas prontas não relacionadas à 3d, como acesso à dispositivos de entrada (joysticks, etc.)
Um texto bacana sobre esta discussão pode ser lido em: http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX
O Windows hoje ainda é o sistema operacional mais usado quando se fala de games. Mas o mundo dos jogos está cada vez mais afastado dos computadores “comuns” e se aventurando no mundo dos dispositivos móveis, mais aberto à tecnologias abertas como OpenGL do que à tecnologias windows-only.
Ah sim, meu note tem uma radeon hd3200, e o driver proprietário da ati é um lixo. Mesmo. Recentemente abriu documentação e código para as placas mais novas, mas não para as mais antigas, como a minha. Sim, isto me deixou bem estressado :-)
Não penso tanto em jogos, mas em aplicações Web, agora que os maiores navegadores do mercado já suportam aceleração gráfica (ff, chrome, ieca e safari), sendo que, no Linux, isto anda meio complicado para os chrome e firefox, já que o desempenho do driver ati para aceleração 2d (xrender, extensão do X) é pífio. Fiz um comparativo com uma máquina bem mais antiga que a minha, mas com chipp intel, e o desmpenho dele foi mil vezes melhor que no meu note. E olhe que é uma intel antiga e onboard!
@marcosalex
“Sobre o OpenGL, a produtividade de se produzir no DirectX é muito maior, tem muito mais coisa pronta se você não quiser trabalhar em muito baixo nível, o que se faz em 20 linhas do DirextX é preciso de 300 em OpenGL.”
Não é verdade. OpenGL e Direct3D são equivalentes em produtividade. Elas tem peculiaridades onde uma é mais fácil que a outra. Por exemplo no DirectX já vem procedimentos para carregar modelos animados e texturas; o modelo de buffers dela é mais interessante. OpenGL é mais fácil para os iniciantes, tem o mecanismo de extensões, multi-plataforma. E além do mais carregar texturas e modelos animados é trivial, e muitas vezes é optado por um formato in-house.
Do zero com DirectX ou OpenGL é pedreira, por isso muitas das desenvolvedoras de jogos utilizam alguma Engine. Por exemplo, o jogo Batman: Arkham Asylum (puta jogaço) usa a UDK (q suporta OGL e DX).
@Igor Cavalcante, a especificação das placas mais novas da ATI também são abertas.
@pois, “para iniciantes” é porque o básico dos gráficos as duas fazem, mas como o DirectX possui um framework muito mais completo, você vai ver que a produtividade de desenvolver um jogo fica muito maior.
@self_liar, DRI é uma forma de contornar essa limitação e é muito mais limitado do que você pensa. O DirectX não é só uma API, é toda um arquitetura. Tem muita referência sobre isso na Internet, dá uma pesquisada.
@tenchi, dispositivos móveis é a chance do OpenGL porque as empresas poderiam preferí-lo como uma forma de ganhar sinergia entre mobile e desktop, mas as placas de vídeo para desktops hoje são projetadas em cima da arquiterura do DirectX. As placas ATI antigamente tinham até a nomenclatura baseada na versão do DirectX que eram projetadas.
Não é a realidade que todos gostariam, mas é a realidade.
Sobre o artigo que você postou, vai ver que fala pouco de requisitos técnicos e cita lugares comuns: dependência da MS do DX, multi plataforma do OpenGL, liberdade, ideologia, etc.
@tenchi, sobre o OpenGL x DirectX, a melhor comparação seria SDL+libs pra 3d+libs e libs + Opengl x DirectX ou qualquer outra API de alto nível sobre o OpenGL, senão vai cair no exemplo 300×20.
Mas o maior problema do OpenGL é que ele ficou muito tempo sem atualização, não acompanhou os recursos da placas novas, embora a especificação 3.0 tenha ficado muito boa.
Um artigo interessante pra quem estiver com preguiça de pesquisar é
http://www.tomshardware.com/reviews/opengl-directx,2019.html
Achei um artigo do Morimoto em português que explica essa questão do OpenGL, basicamente um resumo do artigo em inglês que postei.
http://www.gdhpress.com.br/blog/directx-opengl/
@marcosalex
Tu sabe é de p***a nenhuma!!!
@marcoalex li o artigo do morimoto, muito bom mesmo, o ruim é que tem muita gente fanatica que nao aceita jamais que exista empecilhos tecnicos no linux, ou pior, que existe superioridade de algumas feramentas proprietarias como o directx, vide o @Assis se exautou pois voce foi contra o movimento-puritano-insano
marcosalex
Não acredito que o DRI seja limitado ,inclusive com o DRI2.
Sabemos que o Directx é todo um conjunto,mas mesmo assim não é válido comparar uma API gráfica com um conjunto multimídia como você fez .É só valido comparar OpenGL+SDL+Engine .E ainda sim não ficará com o código taõ grande como o Directx.
Concordamos com a Dependencia do Hardware com a Microsoft.Afinal ela também força isso secretamente com as fabricantes de hardware,principalmente com o windows 7. Mas não concordamos que existem muitas diferenças de desempenho e qualidade entre as APIs do Windows e Linux.
O conjunto directx é mais completo porque é um conjunto mantido pela Microsoft. O OpenGl é somente uma API gráfica .E é lógico que é menor que o Directx.
O artigo da Wolfire também cita sobre o OpenGl ter extensões mais rápidamente lançadas do que o Directx.Não é somente o que vocÊ falou.E você faz mal uso das suas palavras ,inclusive a palavra “ideologia”.
Sabendo que as placas ati mais novas tem sua especificação aberta acredito que em um futuro próximo teremos drivers muito bons pra linux. Tipo daqui a uns dois anos quando eu precisar de um novo notebook :)
@marcosalex
o próprio hardware da NVidia é projetado com base nos specs do DirectX
Eles são projetados para atender a todas as funcionalidades do DirectX e OpenGL, mas isso não significa que essas funcionalidades são especificamente feitas para o DirectX e OpenGL. A API ta ali para facilitar o uso do hardware, ela não impôe ou influencia como o hardware deve fazer. O Shader Model sim é um atributo que pode ser usado para designar o que tal gpu pode fazer.
@marcosalex
Estou comparando OpenGL com Direct3D, as duas não tem disparidades significativas para desenvolver técnicas de renderização. Tanto é que OpenGL é muito forte na academia. Se a Direct3D fosse essa jóia rara toda ninguém usaria OpenGL na SIGGRAPH.
O padrão aberto não permite que a OpenGL tenha esse framework “muito mais completo”, pela a simples razão que isto seria improdutivo. Improdutivo pois conforme os projetos se tornam mais completos, estes também pedem, mais peculiaridades que fogem do escopo de uma API gráfica e são mais apropriados a uma engine. E num projeto do tamanho de uma engine colocar essas features é relativamente simples. No outro lado, a DirectX pode colocar todas essas tralhas pois é fechada, pra Microsoft não custa muito.
Esses “lugares comuns” do artigo da Wolfire são muito importantes, pois não podemos ter uma visão alienada do desenvolvimento de software. Uma visão assim causa defeitos – dentre outros – bem pragmáticos, por exemplo, estou cansado de projetos reféns de uma IDE, de uma plataforma e códigos com alto acoplamento.