Поліпшення продуктивності Android Emulator у Windows 7 x64


9

Я запускаю Eclipse Helios у Windows 7 x64. У мене є Core 2 Duo 2.0 Ghz з 4,0 ГБ, що, на мою думку, повинно вистачити, оскільки у мене ніколи не виникало проблем з продуктивністю інших інструментів, що розвиваються.

Коли я запустив свій перший додаток на Android-емуляторі (як 2.3.3, так і 3.0), на завантаження ОС знадобилось щонайменше 5 хвилин, і спочатку він навіть не запустив додаток HelloAndroid. Навіть коли мені вдалося запустити додаток, продуктивність була нестерпною.

Я пробував різні речі, щоб поліпшити продуктивність, але серйозного покращення не показано. Я думаю, що мені чогось не вистачає.

Що я спробував:

Про AVD Manager

  1. Розмір оперативної пам’яті розміром до 512.
  2. Роздільна здатність до 640 x 480.
  3. Знімок увімкнено.

Про налаштування проекту \ Android

  1. \ Запуск \ -cpu-затримка 0 -no-boot-anim -cache ./cache -avd Android3

Те, що я не можу спробувати: - Розгортання на пристрої (не має жодного).

До речі, у мене була така ж проблема і на MAC Mini 2,66 ГГц 2 Гб, але ці налаштування змінили значення.

Кожен може дати будь-які поради щодо покращення цієї кульгавої роботи ?.


Отримайте чотирьохядерний з Hyperthreading @ 2,8 ГГц та божевільну відеокарту. Хе. Але якщо серйозно, то емулятор повільний. Взагалі кажучи, емуляція завжди повільна, якщо апаратне забезпечення на порядок не є потужнішим. Я не думаю, що ти змусиш його працювати набагато краще, ніж ти вже маєш.
Метью читайте

6
Насправді емулятор не підтримує декілька ядер (поки що). Тож швидкість руху годинника дійсно має значення. Навіть на моїй новій верстаті для розробників у мене проблеми з роботою, особливо з сотами. Я говорю про останню i7 чотирьохядерний, 8 Гб пам'яті та твердотільний жорсткий диск.
Брайан Денні

Так, так що мій старий Pentium 4 з частотою 3,0 ГГц повинен працювати краще (без нічого іншого у фоновому режимі)? Божевільний.
Метью читайте

@Bryan Denny Незважаючи на те, що емулятор не є багатопоточним, надання йому декількох ядер допомагає перенести навантаження на менш використані ядра, але це зменшує стабільність, що призводить до періодичних збоїв. Так що це швидкість / стабільність, але я вважаю за краще використовувати всі ядра для швидкості.
onik

Відповіді:


6

Емулятор повільний, тому що це qemu, що імітує зовсім іншу архітектуру процесора, оскільки його використовують споживчі ПК: ARM (проти x86 (_64) на вашому ПК)

Це означає, що кожна інструкція процесора на ARM-процесорі емулятора повинна бути емульована, яка сама по собі є повільною . Також емулятор є однопоточним AFAIK. Це означає, що прискорити роботу можна лише за допомогою швидких ядер процесора - багатоядерні ядра тут не допоможуть - і розумної кількості оперативної пам’яті.


Емуляція процесора, як правило, повільна, але емулятор телефону також емулює ARM, і це набагато швидше. Це більше, ніж просто набори інструкцій. Сота здається набагато складнішою (і, ймовірно, потрібен більш потужний процесор ARM). GoogleTV - це x86, тому мені цікаво, якою буде його ефективність емулятора ... (Будь вони емуляції x86 або запускаються як рідний процес.)
idbrii

3

Ви можете спробувати використовувати третій емулятор, який, на мій досвід, працює дуже добре. Я не збираюся говорити вам, що час від часу він не буде відставати, але пройдіть пробну версію, і ви побачите, наскільки краще цей емулятор працює.

Це не безкоштовне додаток, але воно теж не дороге. Ви можете знайти його на YouWave Android Emulator . Спробуйте спробувати і поверніться до нас;)


0

Сота (3.0), як відомо, повільно працює в емуляторі. Ви можете спробувати змусити спочатку використовувати більшу частину своєї функціональності, щоб мінімізувати використання Honeycomb.

Для налаштування віртуалізації у вашому процесорі є деякі параметри BIOS. Я думаю, що ввімкнення цих функцій може пришвидшити емулятор, але я не впевнений. (Точних назв для вашої системи я не знаю, але у них буде "віртуалізація" чи "vt-x" чи щось у назві.

Ви також можете спробувати присвятити процесор емулятору. Ви можете змінити "спорідненість процесора" для процесів у Windows за допомогою диспетчера завдань. Якщо ви зміните це так, щоб ваш емулятор віддав перевагу одному процесору, а інші ваші основні завдання (наприклад, затемнення) уникали цього процесора, ви можете побачити певні вигоди. Якщо ваш процесор переповнений гіпертоком, переконайтеся, що ви ставитесь до двох віртуальних ядер як до одного ядра та призначте емулятору віддати перевагу обом віртуальним ядрам.

(Пошук процесів може бути простішим за допомогою ProcessExplorer, оскільки ви можете натиснути цільову кнопку, а потім клацнути вікно, і воно покаже процес для цього вікна.)


Оновлення: Перегляньте розділ Використання апаратного прискорення в документах Android, щоб дізнатися, як використовувати GPU та підтримку віртуалізації у своєму процесорі для прискорення емулятора.


Покращені набори інструкцій для процесора не допоможуть прискорити емулятор, оскільки це в основному qemu, що імітує процесор ARM.
Потік

Якщо вони не допоможуть qemu швидше обробляти інструкції ARM. (Отже, це може відповідати швидкості ARM.) Майте на увазі, що стільник працює повільніше на емуляторі, ніж на реальному пристрої. Скажімо, ARM мав інструкції SIMD, але x86 цього не робив, і замість цього він імітував їх як послідовні операції. Увімкнення розширення SIMD-процесора на x86 вирішить цю проблему. При цьому я не знаю, що робить підтримка віртуалізації, за винятком того, що вона призначена для підвищення продуктивності при моделюванні процесорів.
idbrii

Віртуалізація та емуляція - це не те саме.
Лежать Раян

@Lie: Це правда, але це вже не в чому: підтримка віртуалізації Intel / AMD (теоретично) робить емулятор Android швидшим. Хтось, мабуть, неточний з їх називанням. (Я думаю, що підтримка процесора працює як для віртуалізації, так і для емуляції процесора, тому постачальники процесорів насправді не відзначаються.) Чорт, лише тому, що вони не однакові, не означає, що їх не можна поєднувати одна система: "QEMU - це універсальний емулятор та віртуалізатор з відкритим кодом" .
idbrii
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.