Hacer que el emulador de Android se ejecute más rápido
El emulador de Android es un poco lento. Para algunos dispositivos, como Motorola Droid y Nexus One, la aplicación se ejecuta más rápido en el dispositivo real que en el emulador. Este es un problema al probar juegos y efectos visuales.
¿Cómo haces para que el emulador funcione lo más rápido posible? He estado jugando con sus parámetros pero todavía no he encontrado una configuración que muestre una mejora notable.
pagina web oficial
~50% más rápido
Ventanas:
- Instale "Acelerador de emulador Intel x86 (HAXM)" => SDK-Manager/Extras
- Instale "Imágenes del sistema Intel x86 Atom" => SDK-Manager/Android 2.3.3
Vaya a la carpeta raíz del SDK de Android y navegue hasta extras\intel\Hardware_Accelerated_Execution_Manager. Ejecute el archivo IntelHaxm.exe para instalarlo. (en Android Studio puede navegar a: Configuración -> SDK de Android -> Herramientas SDK -> Acelerador de emulador Intel x86 (instalador HAXM))
Cree AVD con CPU/ABI "Intel Atom x86"
- Ejecute el emulador y verifique en la consola que HAXM se esté ejecutando (abra una ventana del símbolo del sistema y ejecute el comando: sc query intelhaxm)
Además, no olvides instalar este.
PS durante la creación de AVD agregue memoria de emulación: Hardware/Nuevo/Tamaño de RAM del dispositivo/valor de configuración 512 o más
Linux:
- Instale KVM: abra GOOGLE, escriba "instalación de kvm"
- Cree AVD con CPU/ABI "Intel Atom x86"
- Ejecute desde la línea de comando: emulador -avd avd_name -qemu -m 512 -enable-kvm
- O ejecutar desde Eclipse: Ejecutar/Ejecutar Configuraciones/Pestaña "Destino" - > verifique Intel x86 AVD y en la ventana "Opciones adicionales de línea de comando del emulador" agregue: -qemu -m 512 -enable-kvm (haga clic en Ejecutar)
PD: Para Fedora , para Ubuntu
OS-X:
- En Android SDK Manager, instale la imagen del sistema Intel x86 Atom
- En Android SDK Manager, instale Intel x86 Emulator Accelerator (HAXM)
- En el buscador, vaya a la ubicación de instalación de Intel Emulator Accelerator e instale IntelHAXM (abra dmg y ejecute la instalación). Puede encontrar la ubicación colocando el mouse sobre la entrada Emulator Accelerator en el SDK Manager.
- Cree o actualice un AVD y especifique Intel Atom x86 como CPU.
PD: consulte esta herramienta, muy conveniente incluso para prueba
ACTUALIZACIÓN: Ahora que hay disponible una imagen de Intel x86, la mejor respuesta es la de entusiasmo anterior.
Como ha señalado correctamente CommonsWare, el emulador es lento porque emula una CPU ARM, que requiere traducción a códigos de operación Intel. Esta virtualización consume la CPU.
Para que el emulador sea más rápido, debes darle más CPU. Comience con una CPU rápida o actualice si puede.
Luego, dale al emulador más CPU que tengas:
- Deshabilite Hyperthreading : dado que el emulador no parece utilizar más de un núcleo, el hyperthreading en realidad reduce la cantidad de tiempo total de CPU que obtendrá el emulador. Deshabilitar HT ralentizará las aplicaciones que aprovechan múltiples CPU. Hyperthreading debe estar desactivado en su BIOS.
- Haga que el emulador se ejecute en una CPU que no sea la CPU 0 : esto tiene un impacto mucho menor que desactivar HT, pero ayuda un poco. En Windows, puede especificar en qué CPU se ejecutará un proceso. Muchas aplicaciones consumirán la CPU 0 y, de forma predeterminada, el emulador se ejecuta en la CPU 0. Cambio el emulador para que se ejecute en la última. Tenga en cuenta que en OS X no puede configurar la afinidad (consulte: https://superuser.com/questions/149312/how-to-set-processor-affinity-on-a-mac ).
Veo una mejora de alrededor del 50% con estos dos cambios implementados.
Para configurar la afinidad del procesador en Windows 7:
- Abrir Administrador de tareas
- Haga clic en Ver todos los procesos (para ejecutar como administrador; de lo contrario, no podrá configurar la afinidad del procesador)
- Haga clic derecho en emulator.exe y elija Establecer afinidad...
- En el cuadro de diálogo Establecer afinidad, seleccione solo la última CPU
Nota: Cuando cambia la afinidad de esta manera, solo cambia durante la vida del proceso. La próxima vez que empieces, tendrás que hacerlo de nuevo.
Me gustaría sugerir darle una vuelta a Genymotion . Se ejecuta en VirtualBox de Oracle y alcanzará legítimamente los 60 fps en un sistema moderado.
Aquí hay una captura de pantalla de uno de mis talleres, ejecutándose en una MacBook Air modelo 2012 de gama baja:
Si no puedes leer el texto, es un emulador de Nexus 7 que funciona a 56,6 fps. La ventaja adicional (¡grande!) es que Google Play y Google Play Services vienen incluidos con las máquinas virtuales.
(La fuente de la animación demostrada se puede encontrar aquí ).
Habilite la aceleración de hardware de GPU (además de HAXM de Intel), si está utilizando API 15 v3 o posterior y SDK Tools v17+. La aceleración de gráficos para el emulador aprovecha el hardware de gráficos de su computadora de desarrollo, específicamente su unidad de procesamiento de gráficos (GPU), para acelerar el dibujo de la pantalla. Esto da un aumento notable en la velocidad.
Para habilitar la aceleración de gráficos habilitada de forma predeterminada en su emulador : al crear el AVD, en la sección Hardware, haga clic en Nuevo, seleccione Emulación de GPU y establezca el valor en Sí.
Para habilitar la aceleración solo en tiempo de ejecución : use el indicador -gpu mientras inicia el emulador de esta manera:
emulator -avd <avd_name> -gpu on
Fuente: Tutorial de uso del emulador de Google .