In che modo la velocità della RAM e del processore influisce sulle prestazioni complessive su Android?


25

Poiché Android può essere installato su una vasta gamma di dispositivi, mi chiedo quanto siano importanti la RAM e la velocità della CPU per le prestazioni di un dispositivo. Ci sono sempre compromessi quando qualcosa è aumentato e un altro è diminuito!

Più RAM o un processore più veloce sono migliori per la navigazione generale e meno mulititasking? Cosa succede se mi interessa giocare o fare molte cose contemporaneamente? Più RAM compenserà un processore più lento o viceversa?


1
A proposito: ricorda che il clock della CPU non è uguale alla velocità della CPU. Metriche più utili che il clock della CPU sono Mflops, istruzioni per milioni di media al secondo (MIPS) ecc. La differenza tra Mflops e MIPS può essere vista in alcune ottimizzazioni (ad esempio ottimizzazioni JIT), perché alcuni processori hanno istruzioni speciali che ti consentono di calcolare mote in una volta . Tuttavia, non vengono applicati nel codice nativo a meno che l'app non sia stata compilata con il supporto di queste istruzioni.
v6ak

Risposte:


39

Nel contesto di Android, più RAM significa che Android può mantenere più programmi di sonno nella RAM in modo che siano pronti per essere ripresi rapidamente quando torni alle app. Più RAM significa che Android impiegherà meno tempo a uccidere e ricaricare le app dalla memoria interna / scheda SD, e invece dedicherà più tempo a svolgere il lavoro effettivo che ti interessa. Ciò significa che una quantità maggiore di RAM in genere offre una commutazione delle attività migliore / più veloce. Inoltre, più RAM significa che il tuo homescreen ha meno probabilità di essere ucciso; e non proverai quell'attesa di 10 secondi che sembra per sempre. Avere più RAM ti consente anche di eseguire app complesse che richiedono molta memoria, ad esempio editor di foto / video, giochi complessi, ecc.

Una CPU più alta è in grado di calcolare le cose molto più velocemente, anche se all'inizio potrebbe sembrare allettante, è da notare che la maggior parte dei programmi - ad eccezione di giochi e benchmark sintetici e possibilmente pagine Web con flash intensi - sono associati a I / O e non CPU -limite; in altre parole, la maggior parte dei programmi è in attesa della trasmissione in rete, delle letture della memoria flash, delle letture DMA, dell'elaborazione degli eventi touch, ecc., invece di attendere alcuni calcoli. Nell'applicazione associata alla CPU, l'aumento della velocità della CPU può significare una minore latenza tra il tocco dello schermo e l'aggiornamento dello schermo per riflettere l'evento touch. Tuttavia, fino a un certo punto, non ci sarà più alcun vantaggio evidente nell'aggiungere ancora più CPU; oltre un certo punto, l'inversione di tendenza sarà molto più veloce del tempo di inversione del nostro cervello (ca. 100-200ms) e non saremo in grado di percepire i vantaggi dell'aggiunta di CPU ancora più veloci. Inoltre, si noti che il tempo di consegna da ingresso a uscita dipende da un gran numero di altri fattori, ad esempio la latenza dei cavi, la velocità del bus, ecc. In secondo luogo, avere un po 'di tempo in più per la CPU significa anche che Android può assegnare quei risparmia i cicli della CPU in processi in background, in modo che i processi in background possano funzionare meglio.

Sommario

Più RAM:

  • migliore cambio di attività
  • può eseguire app più complicate o aprire file più grandi / più complessi

Più CPU:

  • inversione di tendenza più rapida tra input e risposta (minore ritardo) su app associate alla CPU
  • migliore elaborazione in background

In breve, entrambi sono ugualmente importanti; il tuo modello di utilizzo personale determinerà quale è più prezioso per te. Se in genere rimani in un singolo programma e sei sensibile alla latenza input-to-output, avere una CPU più veloce sarà più prezioso per te; se passi costantemente da un'attività all'altra tra diverse app o se hai bisogno di eseguire app complesse che hanno bisogno di memoria per aprire file complessi di grandi dimensioni, avere RAM aggiuntiva sarà più prezioso per te.


1
Bel lavoro Bugia ... la migliore risposta finora.
mlevit,

16

Bene, questo è molto soggettivo, perché dipende da cosa stai facendo.

Innanzitutto, il vero multitasking (con più app in esecuzione ) richiede una CPU più veloce, in modo che tutti i processi possano essere eseguiti a una velocità decente. Hai ragione perché tutte queste app rimangano in memoria, hai bisogno di più RAM.

Ho 512 MB di RAM e i miei processi iniziano a essere uccisi solo se eseguo qualcosa che utilizza una tonnellata come Angry Birds. D'altra parte ho un processore da 1 GHz e non noto mai rallentamenti indipendentemente da quello che sto facendo (a parte Angry Birds che si impantana durante le lunghe riproduzioni).

Se stai facendo e-mail, Twitter, Facebook, Web, ecc. Allora probabilmente vuoi più RAM. Se vuoi giocare, hai bisogno di una discreta quantità di RAM, ma il processore e il chip grafico saranno più importanti. In generale.

Un'altra considerazione importante è la velocità I / O. Se hai un telefono Samsung che utilizza RFS, installa un lagfix EXT4: noterai un enorme miglioramento. Se stai registrando video HD, potresti desiderare una scheda SD più veloce (abbiamo delle domande a riguardo) e così via.

Le dimensioni dello spazio di archiviazione non sono in gran parte correlate alle prestazioni, ma ti consigliamo di considerare anche questo. Molti utenti prendono a calci se stessi dopo aver installato alcune app e aver scoperto che hanno esaurito lo spazio. Consiglio vivamente un dispositivo come il mio Vibrant, che ha una memoria interna (di sistema + dati) da 2 GB eccessiva (e SD interna da 14 GB, oltre alla scheda SD esterna).


Ho modificato la mia domanda per renderla meno soggettiva.
sabato

3
Il più delle volte non siamo veramente "multitasking". Potremmo avere diverse app in esecuzione, ma le app in esecuzione in background di solito non fanno nulla attivamente, quindi il problema principale è tenerle aperte che richiedono memoria. Se sono in esecuzione attivamente, ad esempio ascoltando streaming multimediale e navigando in Internet o giocando, direi che la velocità del processore è più importante (all'interno dei normali standard hardware, ovviamente avere un processore veloce non ha senso se hai 1kb di RAM ).
Matt,

Matt, stavo per scrivere qualcosa di simile. Tuttavia, penso che le attività in background non siano in genere impegnative per la CPU. Possono usare un po 'di I / O e in alcuni casi possono essere ad alta intensità di I / O (ad es. Download di file, copia di file), ma sembra improbabile che siano ad alta intensità di CPU. Quindi, come menzionato in un altro post, la CPU è probabilmente più importante per il single-takering intenso (ad es. Giochi) e la RAM è più importante per il cambio di attività intensivo.
v6ak

Bene, i lettori musicali sono un'eccezione: possono essere ad alta intensità di CPU e possono funzionare in background.
v6ak

1
@ v6ak: un'applicazione di background intensivo di I / O può potenzialmente disturbare l'I / O in primo piano e in app scritte male (ad es. app che eseguono I / O nel thread dell'interfaccia utente), ciò può anche essere causa di scarsa reattività o ritardo , Non so se Android dia la priorità all'I / O in primo piano, anche se credo che lo faccia.
Lie Ryan,

4

In un telefono la maggior parte dei programmi che userete sono come e-mail, messaggistica istantanea, browser Web, ...

Questo tipo di app non ha bisogno di una potente CPU, ma dato che utilizzerai un telefono Android, eseguirai più applicazioni contemporaneamente, il che richiede un po 'di tempo in più per la CPU, ma, soprattutto, ha bisogno di memoria RAM sufficiente per ospitare tutte le applicazioni.

Quindi, più di uno o l'altro, la cosa importante e il bilanciamento del telefono Android. Con una CPU da 2 Ghz e 512 MB di RAM si sprecherà la potenza della CPU perché il telefono non disporrà di memoria sufficiente per ospitare sufficienti applicazioni per consumare quella quantità di cicli della CPU. Lo stesso accade con una CPU da 500 Mhz e 2 Gb o RAM, il processore non avrà abbastanza cicli per eseguire abbastanza applicazioni per consumare quella quantità di RAM.

Quindi il SALDO è la cosa da considerare . Una CPU a 1Ghz con 512 a 1Gb di RAM è un'ottima combinazione. Lo stesso vale per un 600Mhz con 256 Mb a 512 Mb (un po 'sottodimensionato per le versioni recenti di Andorid), o per una nuova CPU da 1 Ghz a due core con 712 Mb o più di RAM.

Alla luce di queste considerazioni, la mia raccomandazione sarà quella di cercare un telefono con una CPU da 1 Ghz o più e 1 Gb o più di RAM, questo telefono sarà abbastanza potente da eseguire tutte le applicazioni necessarie nei prossimi 2 anni che è il periodo massimo di tempo utilizzerai il telefono fornendo il tasso di evoluzione della tecnologia mobile.


1
... a spese del tuo primogenito; almeno in alcune aree del mondo.
Sdraiati Ryan il

@Lie Ryan, vero, ma purtroppo questo è il prezzo di avere l'ultimo gadget.
Doliveras,

-1

In realtà è la larghezza di banda di memoria che è più limitante. In secondo luogo, un buon equilibrio delle specifiche, tra cui dimensioni della RAM, velocità del processore e parallelismo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.