Atualizar: Devido a ganhos questionáveis e desvantagens inerentes, recomendamos que os usuários leiam esta explicação antes de proceder.
Apesar de alguns hardwares verdadeiramente de primeira linha, alguns dispositivos Android de última geração ainda parece ter problemas com alguns jogos. Existem mods por aí para corrigir esses problemas de atraso, já que a causa subjacente geralmente equivale a algum problema com o processador não funcionando em sua capacidade total. Agora existe uma nova correção para Nexus 7 dispositivos para ajudar a reduzir o atraso do jogo.
Membro Sênior do XDA lambgx02 postou originalmente o Seeder Entropy Generator para interromper o atraso em vários dispositivos Android. A premissa corrente era que a maior parte do atraso do jogo era causada pela entropia. Como lambgx02 explica:
Então, eu estava enfrentando um atraso significativo, como todos nós fazemos de vez em quando, e decidi que iria descobrir o que estava acontecendo.
Depois de rastrear e depurar por horas, descobri a origem de 90% do atraso do Android. Em uma palavra, entropia (ou falta dela).
A JVM do Google, como a da Sun, lê /dev/random. Para todos os dados aleatórios. Sim, o /dev/random que usa um pool de entropia muito limitado.
Dados aleatórios são usados para todos os tipos de coisas. Geração de UUID, chaves de sessão, SSL.. quando ficamos sem entropia, o processo é bloqueado. Isso se manifesta como atraso. O processo não pode continuar até que o kernel gere mais dados aleatórios de alta qualidade.
Então, compilei o rngd e usei-o para alimentar /dev/urandom em /dev/random em intervalos de 1 segundo.
O resultado da correção desse problema é que os jogos rodam muito, muito mais suavemente. Colaborador reconhecido pelo XDA bradman117 testei e confirmei que funcionava para o Nexus 7 e postei onde mais usuários podem ver. Até agora, os usuários relataram excelentes resultados. A instalação também é fácil, pois é um simples zip para atualizar na recuperação.
No entanto, se você decidir tentar, esteja ciente do advertências muito reais de diminuição da segurança devido à geração inferior de números aleatórios, bem como diminuição da vida útil da bateria. Conforme afirmado por lambgx02:
- Existe um risco de segurança (teórico), pois semear /dev/random com /dev/urandom diminui a qualidade dos dados aleatórios. Na prática, as chances de isso ser explorado criptograficamente são distante menor do que as chances de alguém atacar o próprio sistema operacional (um desafio muito mais simples).
- Isto pode afetar negativamente a vida útil da bateria, uma vez que ela é ativada a cada segundo. Ele não possui wakelock, portanto não deve causar um grande impacto, mas me avise se achar que está causando problemas. Posso adicionar uma leitura de bloqueio ao código para que ele seja executado apenas enquanto a tela estiver ligada. Por outro lado, muitos de nós atribuímos o atraso à falta de energia da CPU. Como esse hack elimina quase todo o atraso, há menos necessidade de overclock, reduzindo potencialmente o consumo da bateria.
Embora lambgx02 afirme que o risco de ser explorado devido ao urando -> aleatório a semeadura é baixa, qualquer risco aumentado é demais para um dispositivo acionado diariamente em nosso livro. Aconselhamos todos aqueles que estão interessados a pensar duas vezes, devido aos riscos potenciais. No entanto, entendemos por que alguns ambientes altamente controlados, onde a força criptográfica não é de grande importância, podem querer tentar. Para ver mais, confira o Tópico Nexus 7 assim como o tópico original.