Segundo estudo realizado pela TestBird, uma startup focada na análise e desempenho de jogos móveis, o Android Lollipop causa 60% mais falhas e problemas de compatibilidade se comparado a versão anterior, o KitKat. Um dos problemas é o novo ambiente de tempo de execução (Runtime), o ART, mas esgana-se quem pensa que essas falhas ocorrem apenas em jogos antigos. O problema afeta também games novos!
– Lollipop vs Dalvik
Na atualização para o Android Lollipop, a Google moveu o seu sistema mobile completamente para um novo ambiente de tempo de execução, o ART. Desde o Android Froyo 2.2, todas as versões do sistema rodavam sobre o Runtime Dalvik. Mas com o ART, a Google conseguiu uma performance e velocidade na execução de apps muito maior no Android 5.0, além de uma melhor performance da bateria.
Segundo a teoria, o Android Lollipop deveria exigir menos recursos, mas na realidade, não é isso que está acontecendo, quando o tema em questão são games. Muitos jogos estão enfrentando problemas de performance.
– Papo Tech
Um adento para quem está boiando. A mudança de Dalvik para ART, significa uma mudança em como os apps e jogos são compilados e interpretados pelo sistema. Anteriormente, com Dalvik, o Android usava o compilador Just in Time (JIT ou “na hora certa”).
No Runtime Dalvik, o código de um app é compilado para ser interpretado por ele, mas também facilmente convertido para outras “máquinas virtuais”. Apenas ao ser executado, é que um app e jogo é transformado em “linguagem de máquina” pelo JIT Compiler. Quem manja de emuladores sabe como o JIT deixa as coisas mais rápidas. Mas ele não está lá apenas para isso, ele é responsável também por manter as coisas “compatíveis”.
Para evitar essas “recompilações” constantes, ou seja, toda vez que um app é aberto, a Google introduziu, ainda em testes no KitKat, o Android Runtime (ART). Ele estava disponível para desenvolvedores fazerem testes, mas podia ser acessado facilmente pelas configurações do sistema.
O ART possui um compilador diferente, o ahead-to-time (afrente do tempo). Nesse Runtime, a compilação final acontece já na instalação do aplicativo ou game. Para manter a compatibilidade (em teoria), o ART usa o mesmo código de bits do Dalvik.
Há uma infinidade de melhorias que o ART trouxe como melhor performance, menos MBs para download, e etc. Mas não vamos nos ater a essas melhorias, até por que, o tema aqui é o que está causando problemas ao games.
– O que não te contaram!
Como você pode perceber, a compilação final no ART acontece apenas uma vez e é justamente aí onde o Dalvik se sobressaia ao Lollipop, em termos de compatibilidade. Com o Dalvik e JIT Compiler, o Android precisava de mais memória, isso é fato, mas o sistema dizia ao JIT a quantidade disponível para um game naquele momento. Assim, o jogo rodava e tinha sua performance calibrada pelo JIT.
No ART isso não acontece, ou melhor, acontece apenas quando o jogo é instalado. Por conta disso, é comum alguns, ou vários jogos apresentarem “travadinhas” ou fechamentos (Force Close), pois seus códigos estavam implementados de forma a esperar a calibração do JIT.
Em termos de performance, o ART é muito mais rápido que o Dalvik e quem atualiza o seu sistema para o Lollipop percebe isso ao utilizar apps mais simples. Entretanto, em jogos a coisa fica diferente e a compatibilidade ideal só é alcançada apenas em dispositivos com 2GB de RAM ou mais.
– Erros entre o Android Lollipop e o Play Games Services
Desde a implementação do Android Lollipop, pela Google, em 2014, muitos desenvolvedores vêm enfrentando problemas com seus games que utilizam serviços do Google Services, como Google Play Games e outros.
No fórum de uma das principais engines para dispositivos móveis, a Unity, vários desenvolvedores reclamam de erros que acontecem apenas quando o jogo é baixado pela Google Play.
O que acontece? Eles fazem vários testes internos onde não há problemas. Testam o game em vários dispositivos, com um APK interno. Mas quando o jogo é enviado para a loja de aplicativos do Google, e o Google Play Games Services é implementado, ele começa a apresentar vários problemas de compatibilidade.
– Problema afeta também games novos
Como você viu acima, não se trata apenas de jogos antigos. Lançamentos recentes como FIFA 16, Dead Effect 2 e Fallout Shelter, para não citar muitos outros, enfrentaram vários problemas de compatibilidade no Android Lollipop.
A Google simplesmente dá as ferramentas para os desenvolvedores trabalharem e produzirem seus conteúdos. Mas em sua guerra contra Apple e Microsoft, por performance e bateria, parece que os desenvolvedores de jogos mobile ficaram com um pepino nas mãos.
A solução virá apenas com o tempo. Conforme os desenvolvedores forem se acostumando com o novo ambiente de execução e suas peculiaridades. Para quem gosta de jogos, o ideal é manter o dispositivo no KitKat, algo que parece impossível, pois muitos celulares e tablets já são vendidos com o Android Lollipop.
Muito boa matéria, eu não fazia nem ideia que o ART traria problemas para os jogos, inclusive eu defendia na época do KK que quando o ART fosse adotado de vez, os jogos teriam uma melhor performance, estava redondamente enganado. Valeu pelas explicações.
O problema ocorre por que muitas das engines, plugins e códigos de games estão implementados de modo a esperar, ou contar, com o JIT. Para fazer uma calibração melhor da memória usada pelo game no ART, é preciso escovar mais os bits.
Com o tempo, o mercado vai se acostumar com o ART, mas não sem uma boa dose de esforço. Vamos ver se os desenvolvedores vão fazer isso ou esperar pelo Android Marshmallow e API Vulkan.
downgrade time!
Saiu o tomb raider ll
Valeu vamos postar no Melhores da semana!
Muito bom o site gostei muito, bons conteudo..
Valeu!
Por isso que ainda nao atualizei o meu android,gosto d joga e por isso vai continua no 4.4.4
Isso não aconteceu comigo :p
Baixei mais de 8000 jogos diferentes durante o uso do Lollipop e nada aconteceu :p
Na minha opinião, o Android Kitkat foi a melhor versão do Android que ja usei nos smartphones e Tablets, muito leve, tinha um melhor gerenciamento de ram e bateria, ate em aparelhos antigos e de baixo custo, ele roda consideravelmente bem! Em relação ao Lollipop não gostei de nada, principalmente na parte de gerenciamento de ram e bateria, o Lollipop só tem visual e perfumaria!
Acho q vou pular do Kitkat para Marshmallow, mas só quando os primeiros jogos otimizados para Vulkan forem lançados.