O incrível DirectX é ruim para você

DirectX é uma API incrível, cheia de recursos, fácil de desenvolver, deixa qualquer jogo com gráficos marcantes. Mas saiba que de maneira geral essa impressionante ferramenta da Microsoft é ruim para todos. Entenda o motivo.


No início de tudo o OpenGL e Glide eram as principais ferramenta de desenvolvimento dos computadores. Veio o DirectX e conquistou muitas empresas. Alguns dizem que foi a facilidade de desenvolver, outros um forte incentivo da Microsoft. O certo é que foi uma série de fatores que fizeram o DirectX reinar nos computadores, principalmente com o tempo.

Em versões mais para frente o DirectX melhorou muito e as novidades não paravam. A velocidade de inovações eram fora de série. Enquanto o OpenGL demorou 5 anos para sair da versão 1.0 e ir à 1.1, DirectX no mesmo período de tempo saiu da versão 1.0 e foi à versão 7.0. Ainda com o mercado de sistema operacionais dominado pela Microsoft produtores optaram por usar uma ferramenta que avançava à passos largos. Enquanto o OpenGL ficava refém da compatibilidade, por não ser uma tecnologia onde os games são o cerne e prioridade e dominar todas as áreas da industria gráfica, o DirectX podia (e pode) implementar novas técnicas e até fazer isso forçadamente, já que depende exclusivamente de uma única empresa e uma única plataforma. DirectX, pela qualidade, pela facilidade e rapidez no desenvolvimento, pelo por apoio e suporte da Microsoft, conseguiu se consolidar nos computadores. Criou-se então toda uma estrutura de desenvolvimento em volta da API da Microsoft.

Nos dias de hoje, apesar de uma certa inércia no começo do OpenGL, não podemos jamais colocar em xeque a qualidade técnica da API aberta. Com o consórcio de empresas (Khronos Group) que desenvolvem o OpenGL o ciclo de inovação é muito mais rápido que no passado. Quem ficou perdido na selva (ou não tem interesse no assunto) provavelmente nem desconfia que o OpenGL é líder no mercado gráfico. Ele está em programas de modelagem 3D, em programas de arquitetura e engenharia, em navegadores (WebGL), em smartphones (OpenGL ES), em consoles, como PlayStation 1, 2, 3 e 4, Nintendo 64, GameCube, Wii, WiiU e muitos outros. Usam pela qualidade, que é inquestionável.

Quem desenvolve o OpenGL
Mas voltemos ao DirectX. Pois então, como a excelente API (ou conjunto de APIs) de desenvolvimento para games da Microsoft poderia ser ruim? Eu explico. Dentro de um contexto ele é prejudicial para nós, consumidores. O DirectX é sem dúvida fantástico. Qualquer gamer ou produtor vai dizer isso, mas o software acaba com a livre escolha e fomenta o disparate na plataforma computador.

Quando uma empresa escolhe fazer um jogo em DirectX ela cria uma barreira para outras plataformas. Isso acontece agora, por exemplo. Quando uma produtora usa DirectX ela precisa refazer quase toda a estrutura gráfica do jogo. Se lança para Windows/DirectX, não pode fazer uma simples conversão para Mac OS X, Linux, PlayStation, WiiU, iPad, tablets da plataforma Android (que é Linux), pois todos esses usam OpenGL (ou seu derivado específico). A conversão de DirectX para OpenGL é complexa, toma tempo e muito dinheiro. E o pior é que nem sempre a coisa sai boa.

Somente com a garantia de ganho as produtoras fazem essa conversão custosa. Então, com essa barreira, o prejudicado somos nós, pois temos menos escolha quando uma produtora decide não arriscar. Também somos prejudicados quando uma produtora precisa gastar mais, porque esses recursos poderiam ser revertido para novos projetos, novas tecnologias, entrar em novos mercados.

Tenho certeza que alguém vai perguntar “por que então as desenvolvedoras não fazem os jogos em OpenGL, para a conversão ficar mais simples, economizarem, conseguirem mercado, e para eles e seus clientes ganharem?”. Bom, pelo simples motivo de não ser fácil mudar toda a estrutura de desenvolvimento já estabelecida. Se é complicado e caro e ainda por cima o DirectX é excelente, por que mudariam? Para ter uma ideia, John Carmack, co-fundador da id Software, falou que prefere o DirectX ao OpenGL. Para ele o DirectX é de melhor qualidade e evolui mais rápido. A produtora de Doom e Rage, e criadora do motor id Tech, usado em jogos como Rage, série Call of Duty, Medal of Honor e tanto outros, usa em seu engine OpenGL. Com isso a conversão fica muito simples, como eles mesmo dizem. Mas se Carmack gosta tanto do DirectX, por que não mudam? John Carmack responde: mudar toda a estrutura da empresa, com o OpenGL tão enraizado, não faz sentido. OpenGL funciona muito bem e o custo benefício não é favorável ao DirectX nessas condições. Isso, por sinal é o mesmo que acontece com empresas que usam DirectX. Mudar toda a estrutura da empresa não convém. O custo benefício não traz vantagens nesse momento.



A questão todo nem é focar-se nas desenvolvedoras, mas nos consumidores. Se nós simplesmente entendermos que o DirectX é sim um relativo problema em todo o contexto, já está muito bom e já meio caminho andado para que no futuro, quem sabe, principalmente com a mudança de paradigma da computação pessoal (tablets podem ser a próxima principal plataforma de games) e popularização de sistemas UNIX, como do Mac OS, e Linux, com Ubuntu e Android, o OpenGL ser o padrão da computação pessoal, assim como é nos consoles, e deixar o DirectX como uma alternativa e um concorrente de peso que será usado em certas ocasiões.

Atualização (março 2015)


O Khronos Group anunciou a própria geração da API OpenGL, chamada dessa vez de Vulkan. Vulkan não tentará manter a compatibilidade, isso quer dizer que desenvolveram uma ferramenta com as melhores características possíveis. Você pode ler mais aqui:
https://www.khronos.org/vulkan

4 comentários:

  1. Ah Microsoft. A culpada de todos os males do mundo moderno. Em breve do mundo antigo tambem...

    ResponderExcluir
  2. Onde que alguém esta culpando a M$ por "todos os males do mundo"???

    ResponderExcluir
  3. Victor quando o argumentador não sabe como apresentar um fato coerente para o ponto de vista dele ele vai falaciar... No casa Ramires abandonou o real foco bem definido do artigo e criou um novo foco irrelevante para desviar a argumentação do que se quer discutir e é relevante no artigo.

    A melhor atitude mostrada por estudos psicológicos é, quando possível, apontar sua visão e posteriormente ignorar, pois nada alem do próprio individuo e sua vontade podem alterar seu ponto de vista nestas condições, partindo de que ele obteve argumentos para raciocinar.

    ResponderExcluir
  4. Quanto chororo, Guilherme...

    Só porque o pobre Linux não recebe nenhuma atenção das produtoras de games?

    Não recebe porque não tem público.

    Que mania de botar a culpa na Microsoft pelo fracasso do Ubuntu.

    Windows é compatível com OpenGL também, mas o DirectX é mais fácil, e sem dúvidas excelente.

    Usa quem quer.

    O Ubuntu precisa de público amigo(.)

    Nos consoles, só o Xbox usa DirectX, e não lhe faltam títulos se comparado aos concorrentes, (que são maioria).

    Seus argumentos são sem fundamento e tentam botar a culpa nos outros pelo fracasso do seu SO preferido.

    Veja o caso dos smartphones: Windows Phone é quem sofre com a falta de títulos. Simplesmente porque não tem público.

    Seja justo.

    Ubuntu não tem títulos porque ninguém usa.

    Por menor que seja o trabalho de port entre Mac OS e Ubuntu, o trabalho existe.

    Agora pergunto: Por que o Ubuntu não tem ao menos os títulos do Mac OS? Os dois não usam OpenGL?

    Repito: "Ubuntu não tem público que justifique o trabalho de qualquer produtora".

    ResponderExcluir