258 votes

Faire de l'émulateur Android de courir plus vite

L'émulateur Android est un peu lent. Pour certains appareils, comme le Motorola Droid et le Nexus One, l'application s'exécute plus rapidement dans le dispositif de l'émulateur. C'est un problème lors des tests de jeux et d'effets visuels.

Comment faire pour que l'émulateur courir aussi vite que possible? J'ai joué avec ses paramètres mais je n'ai pas trouvé une configuration qui montre une amélioration notable encore.

236voto

zest Points 2098

La page web officiel

~50% plus rapide

Windows:

  • Installer un processeur Intel x86 l'Émulateur Accélérateur (HAXM)" => SDK Manager/Extras
  • Installer "x86 Intel Atom Images du Système" => SDK Manager/Android 2.3.3
  • Aller à l'Android SDK dossier racine et accédez extras\intel\Hardware_Accelerated_Execution_Manager. Exécuter le fichier IntelHaxm.exe pour installer.
  • Créer AVD avec un processeur Intel atom x86" CPU/ABI
  • Exécuter l'émulateur et de vérifier dans la console que HAXM en cours d'exécution (ouvrir une fenêtre d'Invite de Commande et exécutez la commande suivante: sc query intelhaxm)

enter image description here

Aussi n'oubliez pas l'installer

enter image description here

P. S. au cours de l'AVD de création d'ajouter d'émulation de mémoire: Matériel/New/Appareil de la taille de la ram de réglage de la valeur de 512 ou plus

Linux:

  • Installer KVM: ouvrez GOOGLE, écrire "kvm installation "
  • Créer AVD avec un processeur Intel atom x86" CPU/ABI
  • Exécuté en ligne de commande: l'émulateur -avd avd_name -qemu -m 512 -enable-kvm
  • Ou exécuter à partir d'Eclipse: Run/Run Configurations/Onglet "Cible" - > vérifier que le processeur Intel x86 l'AVD et dans les "Autres Émulateur Options de Ligne de Commande de la fenêtre" ajouter: -qemu -m 512 -enable-kvm (cliquez sur Exécuter)

enter image description here

P. S. Pour Fedora, pour Ubuntu

Mac:

  • Dans Android SDK Manager, installez Intel x86 Atom Image Système
  • Dans Android SDK Manager, installez Intel x86 Émulateur Accélérateur (HAXM)
  • Dans le finder, accédez à l'emplacement d'installation de l'Intel Émulateur Accélérateur et installer IntelHAXM (ouvrir le fichier dmg et l'exécution de l'installation). Vous pouvez trouver l'emplacement en plaçant votre souris sur l'Émulateur Accélérateur entrée dans le SDK Manager.
  • Créer ou mettre à jour un AVD et spécifier Intel Atom x86 que le CPU. Intel x86 Emulator Accelerator (HAXM) showing Location

P. S: Case à cet outil, très pratique même de l'essai

35voto

mcohen75 Points 512

Mise à JOUR: Maintenant que d'un processeur Intel x86 l'image est disponible, la meilleure réponse est de zeste au-dessus.

Comme CommonsWare a souligné à juste titre, l'émulateur est lent, car il émule un CPU ARM, ce qui nécessite la traduction de Intel opcodes. Cette virtualisation mordille la CPU.

Pour faire de l'émulateur plus rapide, vous devez lui donner plus de CPU. Démarrer avec une vitesse de PROCESSEUR ou de la mise à niveau si vous le pouvez.

Ensuite, donner l'émulateur plus de CPU que vous avez:

  1. Désactiver l'Hyperthreading - Depuis l'émulateur ne semble pas utiliser plus d'un cœur, l'hyperthreading permet en fait de réduire la quantité de temps CPU de l'émulateur obtiendrez. La désactivation HT va ralentir les applications qui tirent parti de plusieurs Processeurs. L'Hyperthreading doit être désactivé dans le BIOS.
  2. Faire de l'émulateur exécuter sur un PROCESSEUR autre que le CPU 0 - Cela a beaucoup moins d'impact que la désactivation de HT, mais il aide certains. Sur Windows, vous pouvez spécifier les CPU d'un processus s'exécute. De nombreuses applications vous mâcher jusqu'CPU 0, et par défaut, l'émulateur fonctionne sur le PROCESSEUR 0. - Je changer l'émulateur exécuter sur le dernier. Notez que sur OS X, vous ne pouvez pas définir l'affinité (voir: http://superuser.com/questions/149312/how-to-set-processor-affinity-on-a-mac).

Je vais voir quelque part autour d'une amélioration de 50% avec ces deux changements en place.

Pour définir l'affinité du processeur sur Windows 7:

  1. Ouvrez Le Gestionnaire Des Tâches
  2. Cliquez sur Afficher Tous les Processus (à exécuter en tant qu'administrateur, sinon vous ne pouvez pas définir l'affinité du processeur)
  3. Cliquez-droit sur emulator.exe et choisissez Définir l'Affinité...
  4. Sur l'Ensemble de l'Affinité de dialogue, sélectionnez simplement le dernier CPU

Remarque: Lorsque vous modifiez l'affinité de cette façon, c'est seulement changé pour la durée de vie du processus. Prochain démarrage, vous devez le faire à nouveau.

enter image description here

17voto

Paul Lammertsma Points 12817

Je voudrais vous suggérer de donner Genymotion un tour. Il fonctionne dans Oracle VirtualBox, et légitimement frapper 60 fps sur un modéré du système.

Voici un screencap de l'un de mes ateliers, en cours d'exécution sur un bas de gamme 2012 modèle de MacBook Air:

Nexus 7 emulator running at 56.6 fps

Si vous ne pouvez pas lire le texte, c'est une Nexus 7 émulateur de course à 56.6 fps. Les autres (en gros!) en prime, Google Play et Google Play Services fournis avec les machines virtuelles.

(La source de l'démontré l'animation peut être trouvé ici.)

13voto

John Lehmann Points 1659

Activer l'Accélération Matérielle GPU (en plus d'Intel HAXM), si vous utilisez l'API de 15 v3 ou plus récent et le SDK Outils v17+. L'accélération graphique pour l'émulateur de prendre avantage de votre ordinateur de développement de matériel graphique, en particulier de son unité de traitement graphique (GPU), pour rendre l'écran plus rapide. Cela donne une hausse notable de la vitesse.

Pour activer l'accélération graphique activée par défaut sur votre émulateur: lors de la création de l'AVD, dans la section Matériel, cliquez sur Nouveau, sélectionnez l'émulation GPU et affectez la valeur Oui.

Pour activer l'accélération au moment de l'exécution: utiliser le gpu drapeau lors du démarrage de l'émulateur comme ceci:

emulator -avd <avd_name> -gpu on

Source: Google à l'Aide de l'Émulateur tutoriel.

10voto

ThomasW Points 8078

Edit Bien que l'utilisation de l'Intel images obtient des gains de performance, le rendement obtenu par l'utilisation de Genymotion est beaucoup plus grande. Voir Paul Lammertsma de réponse.

Réponse Précédente

Avec ADT rev 17 l'émulateur prend en charge l'exécution x86 de système d'images en mode de virtualisation sous Windows et Mac OS X. Cela a un impact notable sur la performance.

ADT rev 17 notes: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html

La Configuration De La Machine Virtuelle De L'Accélération: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X