Como a RAM e a velocidade do processador afetam o desempenho geral no Android?

25

Como o Android pode ser instalado em uma ampla variedade de dispositivos, estou me perguntando o quanto a RAM e a velocidade da CPU são importantes para o desempenho de um dispositivo. Sempre existem trocas quando algo é aumentado e outro diminuído!

É mais RAM ou um processador mais rápido melhor para navegação geral e menos multitarefa? E se eu estiver interessado em jogar ou fazer muitas coisas ao mesmo tempo? Mais RAM compensará um processador mais lento ou vice-versa?

Sentou
fonte
11
BTW: Lembre-se de que o relógio da CPU não é igual à velocidade da CPU. As métricas mais úteis que o clock da CPU são Mflops, instruções de média de milhões por segundo (MIPS) etc. A diferença entre Mflops e MIPS pode ser vista em algumas otimizações (por exemplo, otimizações de JIT), porque alguns processadores possuem instruções especiais que permitem calcular o mote de uma só vez . No entanto, eles não são aplicados no código nativo, a menos que o aplicativo tenha sido compilado com o suporte dessas instruções.
v6ak

Respostas:

39

No contexto do Android, mais RAM significa que o Android pode manter mais programas adormecidos na RAM, para que eles estejam prontos para serem retomados rapidamente quando você retornar aos aplicativos. Mais RAM significa que o Android gastará menos tempo matando e recarregando aplicativos da memória interna / cartão SD e, em vez disso, gastando mais tempo realizando o trabalho real com o qual você se importa. Isso significa que mais RAM normalmente oferece uma alternância de tarefas melhor / mais rápida. Além disso, mais RAM significa que é menos provável que sua tela inicial seja morta; e você não experimentará aquela espera de 10 segundos que parece uma eternidade. Ter mais memória RAM também permite que você execute aplicativos complexos que naturalmente exigem muita memória, por exemplo, editor de foto / vídeo, jogos complexos etc.

Uma CPU mais alta é capaz de calcular as coisas muito mais rapidamente, embora isso possa parecer tentador no início, é notável que a maioria dos programas - exceto jogos e benchmarks sintéticos e possivelmente páginas da Web pesadas - são vinculados à E / S e não à CPU -limite; em outras palavras, a maioria dos programas está aguardando a transmissão da rede, leituras de armazenamento flash, leituras de DMA, processamento de eventos por toque etc. para concluir, em vez de aguardar alguns cálculos. No aplicativo vinculado à CPU, aumentar a velocidade da CPU pode significar menos latência entre o toque na tela e a atualização da tela para refletir o evento de toque. No entanto, até um certo ponto, não haverá mais nenhum benefício perceptível de adicionar ainda mais CPU; além de um certo ponto, a resposta será muito mais rápida que o tempo de resposta do nosso cérebro (aprox. 100-200ms) e não seremos capazes de perceber o benefício de adicionar CPU ainda mais rápida. Além disso, observe que o tempo de resposta de entrada para saída depende de um grande número de outros fatores, como a latência dos cabos, a velocidade do barramento, etc. Segundo, ter algum tempo de CPU extra de sobra também significa que o Android pode atribuir esses ciclos de CPU sobressalentes para processos em segundo plano, para que os processos em segundo plano possam executar melhor.

Sumário

Mais RAM:

  • melhor alternância de tarefas
  • pode executar aplicativos mais complicados ou abrir arquivos maiores / mais complexos

Mais CPU:

  • retorno mais rápido entre entrada e resposta (menos atraso) em aplicativos vinculados à CPU
  • melhor processamento em segundo plano

Em suma, ambos são igualmente importantes; seu próprio padrão de uso pessoal determinará qual é mais valioso para você. Se você geralmente permanece em um único programa e é sensível à latência de entrada para saída, ter uma CPU mais rápida será mais valioso para você; se você alternar constantemente entre vários aplicativos diferentes ou se precisar executar aplicativos com muita memória para abrir arquivos grandes e complexos, ter RAM extra será mais valioso para você.

Lie Ryan
fonte
11
Bom trabalho Lie ... melhor resposta até agora.
mlevit 21/02
16

Bem, isso é muito subjetivo, porque depende do que você está fazendo.

Primeiro, a verdadeira multitarefa (com vários aplicativos em execução ) requer uma CPU mais rápida, para que todos os processos possam ser executados a uma velocidade decente. Você está certo de que, para todos esses aplicativos permanecerem na memória, você precisa de mais RAM.

Tenho 512 MB de RAM e meus processos só começam a ser interrompidos se eu executar algo que usa uma tonelada como o Angry Birds. Por outro lado, tenho um processador de 1 GHz e nunca noto lentidão independentemente do que estou fazendo (exceto o Angry Birds se atolando durante longas jogadas).

Se você estiver enviando e-mail, Twitter, Facebook, Web, etc., provavelmente precisará de mais RAM. Se você quiser jogar, precisa de uma quantidade razoável de RAM, mas o processador e o chip gráfico serão mais importantes. Em geral.

Outra consideração importante é a velocidade de E / S. Se você tiver um telefone Samsung que usa RFS, instale um lagfix EXT4 - você notará uma grande melhoria. Se você estiver gravando vídeo em HD, pode querer um cartão SD mais rápido (temos perguntas sobre isso) e assim por diante.

O tamanho do armazenamento não está relacionado ao desempenho, mas você deve considerar isso também. Muitos usuários se desafiam após instalar alguns aplicativos e descobrir que o espaço está acabando. Eu recomendo um dispositivo como o meu Vibrant, que possui um armazenamento interno excessivo de 2 GB (sistema + dados) (e SD interno de 14 GB, além do cartão SD externo).

Matthew Read
fonte
Editei minha pergunta para torná-la menos subjetiva.
sentou
3
Na maioria das vezes, não somos verdadeiramente "multitarefas". Podemos ter vários aplicativos em execução, mas os aplicativos em segundo plano geralmente não estão fazendo nada ativamente, portanto, o principal problema é mantê-los abertos, o que demanda memória. Se eles estão executando ativamente, por exemplo, ouvindo streaming de mídia e navegando na Internet ou jogando, então eu diria que a velocidade do processador é mais importante (dentro dos padrões normais de hardware, obviamente, ter um processador rápido não faz sentido se você tiver 1kb de RAM )
20511 Matt
Matt, eu ia escrever algo semelhante. No entanto, acho que as tarefas em segundo plano geralmente não exigem muita CPU. Eles podem usar algumas E / S e podem usar intensamente E / S em alguns casos (por exemplo, baixar arquivos, copiar arquivos), mas parece improvável que eles consumam bastante CPU. Portanto, como mencionado em outro post, a CPU é provavelmente mais importante para a realização de tarefas únicas intensivas (por exemplo, jogos) e a RAM é mais importante para a troca de tarefas intensiva.
v6ak
Bem, os tocadores de música são uma exceção: eles podem consumir muita CPU e provavelmente são executados em segundo plano.
V6ak #
11
@ v6ak: aplicativos em segundo plano intensivos de E / S podem potencialmente perturbar a E / S do primeiro plano e em aplicativos mal escritos (por exemplo, aplicativos que executam E / S no encadeamento da interface do usuário), isso também pode ser uma causa de baixa capacidade de resposta ou atraso , Não sei se o Android prioriza a E / S em primeiro plano, embora eu acredite.
Lie Ryan
4

Em um telefone, a maioria dos programas que você usa é pensada como email, mensagens instantâneas, navegador…

Esse tipo de aplicativo não precisa de uma CPU poderosa, mas, como você usará um telefone Android, estará executando vários aplicativos ao mesmo tempo, o que exige um tempo extra de CPU, mas, mais importante, precisa de memória RAM suficiente para acomodar todas as aplicações.

Portanto, mais de um ou outro, o importante e o equilíbrio do telefone Android. Com uma CPU de 2 Ghz e 512 MB de RAM, você estará gastando energia da CPU porque o telefone não terá memória suficiente para acomodar aplicativos suficientes para consumir essa quantidade de ciclos da CPU. O mesmo ocorre com uma CPU de 500Mhz e 2Gb ou RAM, o processador não terá ciclos suficientes para executar aplicativos suficientes para consumir essa quantidade de RAM.

Portanto, o BALANÇO é a coisa a considerar . Uma CPU de 1Ghz com 512 a 1Gb de RAM é uma ótima combinação. O mesmo vale para 600Mhz com 256Mb a 512Mb (um pouco fraco para versões recentes do Andorid), ou para uma nova CPU de 1Ghz e dois núcleos com 712Mb ou mais de RAM.

Dadas essas considerações, minha recomendação será procurar um telefone com uma CPU de 1 GHz ou mais e 1 Gb ou mais de RAM, este telefone será poderoso o suficiente para executar todos os aplicativos necessários nos próximos 2 anos, que é o período máximo de Quando você usar o telefone, fornecerá a taxa de evolução da tecnologia móvel.

Doliveras
fonte
11
... à custa do seu primeiro filho; em certas áreas do mundo, pelo menos.
Lie Ryan
@ Ryan Ryan, é verdade, mas infelizmente esse é o preço de ter o último gadget.
Doliveras
-1

Na verdade, é a largura de banda da memória que é mais limitadora. Em segundo lugar, um bom equilíbrio nas especificações, incluindo tamanho da RAM, velocidade do processador e paralelismo.

pjv
fonte