Cair morto: OpenGL ES v1.x

No dia 15 de julho de 2011, em cocos2d, Negócio Móvel, Tecnologia, por Steffen Itterheim by Steffen Itterheim

Atualmente Cocos2D está sendo revisado para um lançamento de v2.0. Ele só apoiará OpenGL ES 2.x e assim os jogos feitos com Cocos2D v2.x não correrão em 1os & 2os dispositivos de geração (I-Phone, I-Phone 3G, iPod Toque 1 & 2).

Os dois fios de desenvolvimento no fórum Cocos2D aqui e aqui são cheios de usuários que exprimem a sua decepção (entre outras emoções/crítica) para não apoiar um núcleo de interpretação que apoia tanto GL ES 1.x como 2.x. Embora se dissesse que se você ainda tiver de apoiar todos os dispositivos, você simplesmente pode continuar usando o Cocos2D v1.x ramo.

Dirigi alguns números e vim à seguinte conclusão: se o seu jogo só apoiar OpenGL ES 2.x e sair em 2012 Q1, você perderá menos de 10 % de clientes!

Aqui está porque penso que OpenGL ES v1.x está atualmente no processo de cair morto, e perto do golpe na terra dentro da chegada ~6 meses.

Estatística de Vendas de I-Phone Q1 2011

Wikipedia tem uma lista bonita da estatística de vendas de I-Phone (totais) como eles foram informados pela Maçã cada quarto. Estas estatísticas variam desde 2007 Q3 até 2011 Q1. Infelizmente, vendas pela Maçã não são informados pelo dispositivo, portanto algumas vendas trimestrais são combinadas vendas do I-Phone 3G + I-Phone 3GS respectivamente I-Phone 3GS + I-Phone 4. Unfortunately, sales by Apple are not reported by device, so some quarterly sales are combined sales of iPhone 3G + iPhone 3GS respectively iPhone 3GS + iPhone 4.

Tentei extrapolar vendas de dispositivo individuais fazendo a suposição que dentro de algum tempo os períodos onde dois dispositivos de I-Phone diferentes eram vendidos, o mais novo provavelmente venderiam mais. Desde que estamos falando sobre o Apple I escolhem uma divisão de 70/30, significando que supus que 70 % das vendas fossem para o mais novo dispositivo. Isto parece sobre diretamente desde que os mais novos dispositivos sempre vendiam melhor do que a geração prévia, mas também segundo um pouco de estatística de revelador. This seems about right since newer devices have always sold better than the previous generation, but also according to some developer statistics.

Por exemplo os reveladores de Impacto que informam um iOS 4 tarifa de adoção de 90 % em janeiro de 2011 através de todos os dispositivos iOS (os 1os dispositivos de geração não podem instalar iOS 4). Ou o Surgeworks iOS 4 relatório de Adoção que contém a estatística de uso de 1os usuários de dispositivo de geração de só 2.5 % de um app, e o I-Phone de 5 % 3G usuários de outro app.

O lado abandonado dos seguintes diagramas de torta mostra o número total de dispositivos de I-Phone vendidos àquela data, com períodos comerciais de dois dispositivos combinados. Os diagramas de torta no direito mostram a estatística comercial extrapolada de gerações de dispositivo de I-Phone individuais, e que OpenGL ES versão eles apoiam.

Carregue da folha de Excel costumei criar estes diagramas:

Note como em 2010 Q1 aproximadamente dois terço de todos os dispositivos de I-Phone apoiou só OpenGL ES 1.x, mas dentro de um ano o quadro virou somente outro caminho. Em 2011 Q1 dois terços de dispositivos de I-Phone vendidos foram capazes de dirigir OpenGL ES 2.x código!

Isto tem muito para fazer com dois fatores: o I-Phone 4 vendido como louco, ao passo que o OpenGL último ES 1.1 I-Phone que é vendido (I-Phone 3G) foi descontinuado em junho de 2010. Significando desde que a Maçã de 2010 de Q3 não vende mais OpenGL ES 1.1 dispositivos de I-Phone. E o OpenGL ES 1.1 Toques de iPod deixou de vender em 2010 Q4 também. Meaning since Q3 2010 Apple does no longer sell OpenGL ES 1.1 iPhone devices. And OpenGL ES 1.1 iPod Touches stopped selling in Q4 2010 as well.

Toda a Estatística de Vendas de Dispositivo iOS Q2 2011

Segundo Não reforçado com arame, a Maçã informou para ter vendido 200 milhões de Dispositivos iOS durante o iOS 5 anúncio. 25 milhões daqueles foram iPads. Estes estão à altura da maior parte de vendas de data stats, que assumo para ser o Q2 2011 estatísticas. These are the most up to date sales stats, which I assume to be the Q2 2011 statistics.

Baseado em números de Wikipedia que afirma 83 dispositivos de I-Phone Mio. vendidos contra mais de 60 Mio. iPod dispositivos de Toque vendidos, o resto 175 Mio. devem ser 42 % iPod Toque (74 Mio) e I-Phone de 58 % (102 Mio).

A percentagem de OpenGL ES 2.x os dispositivos de I-Phone capazes aos que só apoiam OpenGL ES 1.1 foram 31 % em 2010 Q1 e pularam para 64 % em 2011 Q1. Assumindo os 1.1 a 2.x a proporção é o mesmo do Toque de iPod, que nos dá 137 Mio iOS dispositivos (I-Phone, iPod Toque, iPad) com OpenGL ES 2.x capacidade contra 63 dispositivos Mio (1o & 2o I-Phone de geração / iPod Toque) que não apoia 2.x.

Este diagrama de torta inclui todos os Dispositivos iOS e que OpenGL ES versão eles apoiam:

Isto significa que 70 % de todos os dispositivos iOS vendidos a data apoiam OpenGL ES 2.x. Isto deixa-nos com só 30 % de dispositivos iOS não capazes de dirigir OpenGL ES 2.x código.

Não quero perder 30 % dos meus clientes!

Você não vai!

Tenha em mente que estas estatísticas são só sobre dispositivos vendidos. Eles não refletem o que aconteceu a estes dispositivos desde então, ou como eles estão sendo usados hoje.

Também posso afirmar que os mais velhos dispositivos estão desaparecendo rápido do mercado. Embora 30 % dos dispositivos vendessem o suporte só OpenGL ES 1.1, a sua base de cliente potencial será significativamente menos do que o número de dispositivos vendidos. Isto é por várias razões: This is for a variety of reasons:

  • o dispositivo foi perdido ou foi roubado
  • dispositivo quebrado além de uso/reparo
  • dispositivo simplesmente mais em uso
  • o dispositivo possuído por uma pessoa que improvavelmente comprará novo apps

Em particular o item último deve considerar-se: o usuário de dispositivo. Novamente, o usuário é o seu cliente potencial, não o dispositivo. E em geral todos destes itens com maior probabilidade acontecerão o mais velho que o dispositivo é. Again, the user is your potential customer, not the device. And in general all of these items are more likely to happen the older the device is.

Um commenter em um dos dois GL ES 2.0 fios no fórum Cocos2D informou como os usuários felizes deveram ver um jogo correr lisamente nos seus 1os dispositivos de geração. Para mim que não sou prova que o suporte de mais velhos dispositivos é benéfico. Ao contrário, penso que claramente nos mostra que os velhos usuários de dispositivo de geração são muito mais seletivos sobre as suas compras, já estão abandonando o seu amor pelos seus dispositivos, e podem estar considerando um upgrade porque eles podem ter deixado de gostar dos seus dispositivos. Isto contribui o "menos provavelmente para comprar novo apps” fator. To the contrary, I think it clearly shows us that old generation device users are much more selective about their purchases, are already giving up their love for their devices, and may be considering an upgrade because they may have stopped enjoying their devices. This contributes to the “less likely to buy new apps” factor.

Você também pode supor que os usuários de mais velhos dispositivos tenham menos rendimento consumível, ou sejam satisfeitos com o dispositivo como é. Se um usuário estiver de fato feliz com um velho dispositivo iOS, é provável que a pessoa prefira usar apps e jogue poucos (er) jogos ou somente continue usando o apps & jogos já possuídos.

O número de clientes potenciais que você perderia – se você lançasse um OpenGL ES 2.0 jogo agora mesmo – é talvez aproximadamente 10 % a 20 % no máximo. Muito menos se o seu jogo é complexo e visualmente rico, e sofreria um pouco de realização ou degradação visual em mais velhos dispositivos de qualquer maneira.

Que tal o perto do futuro? (Q1 2012)

Considerando que 6 meses de agora, em 2012 Q1, teremos visto o lançamento de novos dispositivos de I-Phone (I-Phone 5, possivelmente iPod 5) e assim outro boom em vendas, é um melhor acordo de começar a fazer alguns efeitos visuais frescos com shaders que parecem grandes no I-Phone 4 e 5 em vez de tentar apoiar ainda 1os e 2os dispositivos de geração.

Especialmente se você tem de instalar em alguns (ou muito de) esforço de apoiar os mais velhos dispositivos, por exemplo se você tiver de otimizar a realização, reduzir o conjunto de características (eg nenhum suporte de Centro de Jogo ou limitado) ou (deus proíbem) você tem de assegurar a compatibilidade com iOS 3.0.1 ou mais baixo (CADisplayLink indisponível!). Aquele tempo e o esforço são melhor passados na criação de um melhor OpenGL ES 2.x jogo! That time and effort are better spent on making a better OpenGL ES 2.x game!

Obviamente a decisão também depende de como visualmente rico o seu jogo está indo ser e se você pode esperar bater na realização e outras questões de mais velhos dispositivos de qualquer maneira.

Sumário

Totalmente espero a ação de mercado de OpenGL ES 1.1 dispositivos vendidos para cair até aproximadamente 20 % antes de 2012 Q1. Isto põe o número de clientes potenciais (para reveladores de jogo) ainda usando aqueles dispositivos e comprando jogos certamente a muito menos de 10 %. Então considere que o I-Phone 5 já pode até prestar contas de até 5 % (~10 Mio) de todos os dispositivos iOS vendidos antes de 2012 Q1. Then consider that the iPhone 5 may even already account for up to 5% (~10 Mio) of all iOS devices sold by Q1 2012.

Até ao fim de 2012 a base de cliente potencial (para reveladores de jogo) ainda a utilização de 1os e 2os dispositivos de geração terá ficado inteiramente insignificante.

Isto significa, se você começar a desenvolver um OpenGL ES 2.x jogo dentro de 3 próximos meses, e o seu jogo toma 3 + meses para concluir, você perderá muito poucos clientes apoiando só 3a geração e mais novos dispositivos. E você pode ser de fato capaz de ganhar mais clientes apoiando inteligentemente os novos dispositivos!

Penso que é sábio começar a usar Cocos2D v2.0 logo que esteja pronto para a produção, que pode estar durante aproximadamente 3-6 meses segundo os comentários e o progresso atual.

Jogo em, Cocos2D 2.x!

3 Respostas a “Cair morto: OpenGL ES v1.x”

  1. MeachWare diz:

    Já sido decidido e implementado (deixando suporte de dispositivos opengles-1), erm no ano passado … ;-)

    http://meachware.blogspot.com/2010/10/thoughts-on-older-devices.html

  2. Dani diz:

    Olá, correio muito interessante.

    Eu não reduziria conjunto de características do meu jogo ou efeitos no jogo de fazê-lo correr em mais velhos dispositivos. Normalmente tento melhorar a realização em mais velhos dispositivos pelo que eu possa, mas não retirando coisas-chave.

    Também penso que há tanta diferença de realização entre mais velhos dispositivos e mais nova. Por exemplo, entre 3G e 3GS. O I-Phone 3G está condicionando o desenvolvimento demasiado e às vezes ele parece-se com a quase criação de um novo código do mesmo jogo, e de que? Vender quase o mesmo? Talvez é melhor para melhorar o jogo para conseguir todos os mais novos clientes de dispositivos, em vez de fazê-lo “retro compatível”. The iPhone 3G is conditioning the development too much and sometimes it’s almost like making a new code for the same game, and for what? To sell almost the same? Maybe is better to improve the game to reach all the newer devices customers, instead of making it “retro compatible”.

    A tecnologia sempre se está desenvolvendo, portanto os reveladores, as armações e os instrumentos devem fazer o mesmo.

    Considerações.

  3. Completamente combino. Enquanto eu gostaria de apoiar cada dispositivo, lá vem um ponto foi o usuário final teve vários anos para fazer um upgrade do seu dispositivo e se eles não tiverem não posso ser responsável por aquela escolha. Se eles forem demasiado baratos (ou ser justos, pobres) para comprar um novo dispositivo, eles provavelmente não passarão muito em apps de qualquer maneira. If they are too cheap (or to be fair, poor) to buy a new device, they aren’t likely to be spending much on apps anyway.

    Tento manter a disponibilidade a mais velhos dispositivos só a um ponto.

Deixe uma Resposta