9 votes

Améliorer les performances de l'émulateur Android sous Windows 7 x64

J'utilise Eclipse Helios sous Windows 7 x64. J'ai un Core 2 Duo 2.0 Ghz avec 4.0 GB, ce qui devrait suffire, puisque je n'ai jamais eu de problèmes de performance avec d'autres outils de développement.

Lorsque j'ai lancé ma première application sur l'émulateur Android (à la fois 2.3.3 et 3.0), il a fallu au moins 5 minutes pour charger le système d'exploitation et, au début, l'application HelloAndroid n'a même pas été lancée. Même lorsque j'ai réussi à exécuter l'application, les performances étaient insupportables.

J'ai essayé diverses choses pour améliorer les performances, mais aucune amélioration majeure n'est visible. Je pense qu'il me manque quelque chose.

Des choses que j'ai essayées :

Sur AVD Manager

  1. Taille de la RAM du périphérique à 512.
  2. Résolution à 640 x 480.
  3. Snapshot activé.

Sur les préférences du projet \Android

  1. \Launch\ -cpu-delay 0 -no-boot-anim -cache ./cache -avd Android3

Des choses que je ne peux pas essayer : - Déploiement sur un appareil (je n'en ai pas).

A propos, j'ai eu le même problème sur un MAC Mini 2.66 GHz 2 GB mais ces paramètres ont fait la différence.

Quelqu'un peut-il donner des conseils pour améliorer ces performances médiocres ?

6voto

Flow Points 18254

L'émulateur est lent car il s'agit d'un qemu qui émule une architecture de CPU totalement différente de celle utilisée par les PC grand public : ARM (contre x86(_64) sur votre PC)

Cela signifie que chaque instruction du processeur ARM de l'émulateur doit être émulée, ce qui est en soi un problème. lent . De plus, l'émulateur est AFAIK single-threaded. Cela signifie que l'accélération ne peut être obtenue que par des cœurs de processeurs rapides - les cœurs multiples ne sont d'aucune utilité ici - et une quantité raisonnable de RAM.

3voto

Laurie Young Points 37065

Vous pouvez essayer d'utiliser un émulateur tiers qui, d'après mon expérience, fonctionne très bien. Je ne vais pas vous dire qu'il n'y aura pas de décalage de temps en temps, mais faites l'essai et vous verrez à quel point cet émulateur fonctionne mieux.

Ce n'est pas une application gratuite, mais elle n'est pas chère non plus. Vous pouvez la trouver à l'adresse suivante Émulateur Android YouWave . Essayez l'essai et revenez nous voir ;)

0voto

Jeff Winkworth Points 1572

Honeycomb (3.0) est notoirement lent dans l'émulateur. Vous pourriez essayer de faire fonctionner la plupart de vos fonctionnalités sur le téléphone d'abord, pour minimiser l'utilisation de Honeycomb.

Il existe certains paramètres du BIOS pour activer la prise en charge de la virtualisation dans votre CPU. Je pense que les activer peut accélérer l'émulateur, mais je ne suis pas sûr. (Les noms exacts pour votre système, je ne les connais pas, mais ils auront "virtualisation" ou "vt-x" ou quelque chose dans le nom.

Vous pouvez également essayer de dédier un processeur à l'émulateur. Vous pouvez changer l'"affinité du processeur" pour les processus dans Windows en utilisant le gestionnaire de tâches. Si vous le modifiez de manière à ce que votre émulateur préfère un processeur et que vos autres tâches principales (comme eclipse) évitent ce processeur, vous pourrez constater certains gains. Si votre processeur est hyperthreadé, assurez-vous que vous traitez les deux cœurs virtuels comme un seul et même cœur et demandez à l'émulateur de préférer les deux cœurs virtuels.

(Trouver les processus peut être plus facile avec ProcessExplorer parce que vous pouvez cliquer sur le bouton cible, puis sur une fenêtre et cela vous montre le processus pour cette fenêtre).


Mise à jour : Voir le Section sur l'utilisation de l'accélération matérielle sur la documentation Android pour voir comment utiliser votre GPU et le support de virtualisation de votre CPU pour accélérer l'émulateur.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X