Rendere l'emulatore Android più veloce


Answers

AGGIORNAMENTO: Ora che è disponibile un'immagine Intel x86, la risposta migliore è per eccesso sopra.

Come CommonsWare ha giustamente sottolineato, l'emulatore è lento perché emula una CPU ARM, che richiede la conversione in opcode Intel. Questa virtualizzazione mastica la CPU.

Per rendere l'emulatore più veloce, devi dargli più CPU. Inizia con una CPU veloce o aggiornalo se puoi.

Quindi, dai all'emulatore di più della CPU che hai:

  1. Disabilita Hyperthreading - Poiché l'emulatore non sembra utilizzare più di un core, l'hyperthreading riduce effettivamente la quantità di tempo complessivo della CPU che l'emulatore otterrà. Disabilitare HT rallenterà le app che sfruttano più CPU. Hyperthreading deve essere disabilitato nel BIOS.
  2. Fai funzionare l'emulatore su una CPU diversa dalla CPU 0 - Questo ha un impatto molto minore rispetto allo spegnimento di HT, ma ne aiuta alcuni. Su Windows, è possibile specificare su quale CPU verrà eseguito un processo. Molte app masticano CPU 0 e, per impostazione predefinita, l'emulatore gira su CPU 0. Io cambio l'emulatore per funzionare sull'ultima. Nota che su OS X non puoi impostare affinità (vedi: https://superuser.com/questions/149312/how-to-set-processor-affinity-on-a-mac ).

Sto vedendo da qualche parte circa un miglioramento del 50% con questi due cambiamenti sul posto.

Per impostare l'affinità del processore su Windows 7:

  1. Apri Task Manager
  2. Fare clic su Visualizza tutti i processi (da eseguire come amministratore, altrimenti non è possibile impostare l'affinità del processore)
  3. Fai clic destro su emulator.exe e scegli Imposta affinità ...
  4. Nella finestra di dialogo Imposta affinità, seleziona solo l'ultima CPU

Nota: quando si modifica l'affinità in questo modo, viene modificata solo per la durata del processo. Il prossimo avvio, devi farlo di nuovo.

Question

L'emulatore Android è un po 'lento. Per alcuni dispositivi, come Motorola Droid e Nexus One, l'applicazione viene eseguita più velocemente nell'apparecchio rispetto all'emulatore. Questo è un problema quando si testano giochi ed effetti visivi.

Come si fa a far funzionare l'emulatore il più velocemente possibile? Ho giocato con i suoi parametri ma non ho ancora trovato una configurazione che mostri un miglioramento evidente.




Grazie @zest! Ha funzionato come un fascino. Alcune cose importanti: è necessario applicare l'hotfix di Intel per HAXM per gestire il problema del kernel panic: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Inoltre, notare , se si dispone di più di un abi, è necessario disinstallarne uno a causa di un bug nell'ultima versione dell'API Android (r19): https://code.google.com/p/android/issues/detail?id=66740 (rimuovi armeabi-v7a in questo caso, dato che vuoi l'x86 abi). A parte i 45 minuti che ho impiegato per risolverli, è stato un esercizio molto gratificante in termini di aumento delle prestazioni dell'emulatore.




Abilita accelerazione hardware GPU (oltre a HAXM Intel), se si utilizza API 15 v3 o versioni successive e SDK Tools v17 +. L'accelerazione grafica per l'emulatore sfrutta l'hardware grafico del tuo computer di sviluppo, in particolare la sua unità di elaborazione grafica (GPU), per rendere più veloce il disegno dello schermo. Ciò dà una notevole spinta alla velocità.

Per abilitare l'accelerazione grafica abilitata di default sul proprio emulatore : quando si crea l'AVD, nella sezione Hardware, fare clic su Nuovo, selezionare l'emulazione GPU e impostare il valore su Sì.

Per abilitare l'accelerazione solo in fase di esecuzione : utilizzare il flag -gpu mentre si avvia l'emulatore in questo modo:

emulator -avd <avd_name> -gpu on

Fonte: tutorial su come usare l'emulatore di Google .




Ho utilizzato Intel (86) CPU / ABI. Ho creato un altro emulatore usando ARM (armeabi-v7a) e ho trovato un miglioramento con la velocità. Sto usando la piattaforma 4.1.2 API 16




Google ha recentemente annunciato un nuovo emulatore per Android. È molto più veloce e migliore di quello vecchio. Puoi trovare maggiori informazioni a riguardo here .




Ho notato che l'emulatore ha come valore predefinito solo il Core 0, dove la maggior parte delle applicazioni Windows imposterà il "qualsiasi" core. Inoltre, se lo metti su un altro core (come l'ultimo core), potrebbe far impazzire l'emulatore. Se puoi, puoi provare a mettere le tue applicazioni di utilizzo della CPU pesante sugli altri core della CPU per aumentare la velocità.

Dal punto di vista dell'hardware, ottieni la CPU più veloce che puoi ottenere per le applicazioni single-core. Più di 2 core potrebbero non riscontrare un'enorme differenza in termini di prestazioni dell'emulatore.

Eclipse + l'emulatore Android consuma una tonnellata di RAM. Vorrei raccomandare 3 GB di RAM almeno perché ho usato un sistema con 2 GB di RAM, e ha rallentato perché il sistema ha esaurito la RAM e ha iniziato a utilizzare il file di paging.

Ritengo che le migliori CPU per esso avranno probabilmente un clock alto (utilizzare solo clock come misura per le CPU della stessa serie btw), gestire bene le operazioni non SIMD e avere un meccanismo di turbo boost. Non ci sono molti benchmark basati su Java, ma l'aspetto generale dei benchmark delle applicazioni come la compressione e l'ufficio. Non guardare i giochi oi media dal momento che sono molto influenzati da SIMD. Se trovi uno Java, ancora meglio.




Spero che questo ti possa aiutare.

Goto to your BIOS settings. Enable your Virtualization technology in your settings..

Ha risolto il mio problema ...




scegli un emulatore a bassa risoluzione (es: Nexus S) se non hai una buona scheda grafica (come me)




Recentemente sono passato da un core 2 @ 2.5 con 3gb di ram ad un i7 @ 1.73 con 8gb di ram (entrambi i sistemi hanno funzionato su Ubuntu 10.10) e l'emulatore gira almeno due volte più velocemente ora. Lanciare più hardware su di esso certamente aiuta.




Si potrebbe anche provare l' emulatore di Visual Studio Android , che può anche essere installato come emulatore standalone (non è necessario Visual Studio). Si noti che può essere installato solo su sistemi Windows Pro o successivi.