Logo pt.androidermagazine.com
Logo pt.androidermagazine.com

Como trapacear nos benchmarks (e por que devemos subestimar sua importância)

Anonim

Os benchmarks podem ser úteis, seja para celular ou qualquer outro hardware de computador. Porém, há um problema - você precisa depender de todo mundo ser honesto. Deixe-me explicar. Sempre que você vê um vídeo ou uma captura de tela de uma pontuação de referência, o que realmente está vendo é uma medida de como o software interage com o hardware. Existem dois grandes problemas com isso: não há dois telefones Android executando o mesmo software, e sempre há um curinga que quer trapacear. Recentemente, nosso amigo John, da Phone Arena, observou algumas pontuações no Quadrante de um novo aparelho que são muito baixas em comparação com os outros telefones listados. E bom em John por apontar isso.

Claro, os benchmarks podem ser divertidos, como ver o pouco impacto da interface do usuário da LG no Optimus 2X em comparação com o Stock Froyo, e eles podem ser úteis se você estiver executando você mesmo para avaliar algumas mudanças que está fazendo no seu próprio software. Mas nós superamos isso. Vamos basear nosso julgamento de desempenho com base no desempenho, e não em números.

É fácil demais enganar todos os benchmarks, porque eles são apenas aplicativos para Android. Veja todas as outras pessoas mágicas que fazem com os aplicativos Android e pergunte a si mesmo - as referências são tão diferentes que não podem ser "invadidas"? A resposta é não, e mostraremos como hackear o mais fácil (mas definitivamente não o único) de manipular, Quadrante.

Confira depois do salto.

Vamos dar uma olhada exatamente no que estamos prestes a fazer aqui, através da magia do vídeo.

Link do YouTube para visualização em dispositivos móveis

Você precisará estar enraizado neste exemplo. Existem muitas outras maneiras de trapacear nos telefones não rooteados, editando o código e reconstruindo o próprio aplicativo, mas essa maneira fácil precisa de raiz. Você também precisará de algumas ferramentas:

  • Tenha o adb funcionando, com acesso root no shell.
  • Padrão Quadrante no Android Market. Usamos o Quadant Advanced em nossa demonstração, porque é muito fácil ver a trapaça. Você vai querer usar o Standard, porque é muito fácil ver a trapaça.
  • Painel do sistema (ou qualquer aplicativo que possa matar todos os processos) no Android Market.
  • SetCPU do Android Market, ou equivalente (se você tiver um kernel com overclock).
  • Duas mãos, um teclado e sem consciência.

Instale todos os seus aplicativos e reinicie o seu telefone. Deixe descansar por 5 a 10 minutos para que toda a sincronização e verificação seja concluída e execute o Quadrante (veja o lado "antes" na imagem acima) para saber a verdade.

Conecte seu telefone ao computador e entre no shell. Como root, execute o seguinte comando:

mount -t tmpfs tmpfs /data/data/com.aurorasoftworks.quadrant.ui.standard

Digite exatamente como está escrito. O que está fazendo é simples - as partes de E / S de todos os telefones são o maior gargalo, por isso estamos movendo a pasta de dados do Quadrante para fora do armazenamento físico e para a RAM. RAM é boa. Ler e escrever para ele é rápido. Super rápido. Isso desaparece na reinicialização, por isso é fácil voltar ao normal.

Em seguida, queremos cancelar qualquer efeito de escala da CPU. Quem precisa economizar bateria, queremos pontuações mais altas! Inicie o SetCPU e aumente a velocidade do clock da CPU o mais alto possível e escolha "desempenho" como governador da CPU. Isso manterá as coisas funcionando em velocidade máxima o tempo todo.

Agora use o aplicativo que você decidiu (eu uso o Painel do Sistema para monitorar as coisas, e inclui o temido kill-all como uma função extra) para matar todas as suas tarefas em segundo plano. Se você pode matar os processos do sistema, melhor ainda. Não nos importamos com o bom funcionamento do telefone, apenas com a quantidade de números.

Inicie o Quadant e execute sua referência. Execute-o duas ou três vezes para resolver o problema e comece a tirar screenshots. Perceba o quão fácil foi fazer isso, então imagine que outros truques podem ser feitos através da engenharia reversa dos aplicativos de referência e alterando a matemática usada para escrever as pontuações. Adicione alguns outros truques, como alterar uma ou duas linhas no arquivo build.prop para aumentar a pontuação da CPU, e você estará pronto. Antes que alguém diga "Sim, mas eu uso o Bechmark xyz9000 Pro e você não pode trapacear com isso". Sim você pode. Até eu posso, e há muitas pessoas lá fora, muito mais talentosas do que eu. Apenas acredite em benchmarks que usam muitos metros e fios, com luzes piscando, porque qualquer outra coisa é apenas um software que alguém pode invadir.

Agora o campo de jogo está nivelado. Parabéns, você é um trapaceiro.