2009/06/10

iPhone 3GS - o OpenGL ES e a Evolução em geral

A evolução é tramada... que o digam todos os possuidores de Nokias que ao longo do tempo foram vendo os seus programas ficando regularmente obsoletos sempre que um novo modelo era lançado, com uma nova versão do sistema operativo, ou ecrã de maior resolução, etc.

Pois bem... estará o iPhone a dar os primeiros passos nesse sentido?

Nalguns aspectos, a Apple tem conseguido fugir desses problemas... as actualizações de firmware tem existido para todos os iPhones desde o de primeira geração, a resolução do ecrã tem-se mantido a mesma (e imagino que se mantenha durante pelo menos mais 1 ou 2 anos - se bem que eventualmente tenha que aumentar por força da concorrência) mas este novo iPhone 3GS começa já por ter uma diferença substancial: o novo chip acelerador 3D.

Ao que tudo indica, o novo chip 3D do iPhone 3GS é um Power VR SGX que suporta o OpenGL ES 2.0 enquanto o dos modelos anteriores é um Power VR MBX, suportando apenas o OpenGL ES 1.1. (ao contrário do que surgiu nalgumas tabelas onde aparecia o OpenGL ES 2.0 no iPhone 3G.)

Ora... isto faz com que possam começar a haver Apps diferenciadas para cada modelo do iPhone, nomedamente em aplicações gráficas 3D como os jogos.

Ainda ontem eu pensava nisso e imaginava: a solução mais simples seria manter uma única app, mas que detectasse automaticamente o modelo e activasse/desactivasse certas funções conforme as capacidades do iPhone onde estivesse a correr (um pouco como o que acontece com os detalhes gráficos nos jogos de PC, onde dizemos "low, medium, high.")

"When designing your OpenGL ES application, the first question you must answer is whether your application will support OpenGL ES 1.1, OpenGL ES 2.0, or both... Your application should target OpenGL ES 1.1 if you want to support all iPhones and iPod touches."

Apps específicas para cada modelo pode parecer uma boa opção mas levanta outros problemas: o que acontece se eu comprar um jogo para o iPhone 3G, mas posteriormente trocar de iPhone para um 3GS? Serei obrigado a pagar novamente pelo mesmo jogo que já tinha comprado para ter acesso à versão melhorada? Não me parece realista.

Isto seria resolvido se os developers optarem por suportar os dois modelos na mesma app (e considerando a enorme base existente de modelos 1st gen e 3G, deverá ser o mais provável) - mas isso tem também desvantagens: as apps serão maiores (pois basicamente serão 2 apps-em-1 : com muitos dos elementos duplicados para os diferentes modelos.) E pior ainda... como será no futuro, quando assistirmos a mais 2 ou 3 evoluções do iPhone?


São problemas que não são específicos do iPhone, pois fazem parte de evolução em geral... hoje temos o OpenGL 2.0 amanhã teremos o 3.0 e 4.0... e é impossível prever o que irá acontecer.

Mas, sendo uma das grandes vantagens do iPhone a sua uniformidade, fico curioso por saber que planos tem a Apple para gerir esta evolução que começa agora a sua prova de fogo com este iPhone 3GS.

1 comentário:

  1. Devia era trazer OpenCL já o 7 vem aí e perdeu-se a oportunidade de fazer concorrencia ao directx

    ResponderEliminar