Я изучаю запись игры Android, жесткой, я в настоящее время не владею устройством на базе Android. Для тех из Вас, кто владеет устройством, как делает производительность на эмуляторе, касаются производительности физического устройства? Я особенно интересуюсь связанными с графикой задачами.
Это, очевидно, зависит и от машины, выполняющей эмулятор и от определенного рассматриваемого устройства, но я говорю грубые числа здесь.
Этим вопросом является дубликат, но так как то сообщение в большой степени устарело, я полагал, что это не важно к настоящему времени.
Вообще говоря, эмулятор намного медленнее, чем устройство при задачах ЦП и ГП. Это по крайней мере по двум причинам:
Для сравнения, я работаю с Android на четырехъядерном процессоре Intel 2,66 ГГц с довольно хорошей видеокартой. Для видео, которые нормально работают на устройствах, я могу иногда заставить их воспроизвести в эмуляторе.
Эмулятор работает быстрее, чем устройство, при "дисковом" вводе-выводе. Когда вы пишете на «флэш-память» в эмуляторе, вы записываете в файл образа диска, который, вероятно, находится на обычном жестком диске, если вы не используете SSD. На самом деле запись во флеш-память на устройстве может быть значительно медленнее - Брэд Фитцпатрик на прошлой неделе на конференции Google I | O 2010 привел всплески до 200 мс для записи одного байта во флеш-память. Комбинация Android, флеш-памяти и файловой системы yaffs2, по-видимому, приводит к постепенному замедлению работы устройства при вводе-выводе флеш-памяти по мере заполнения флеш-памяти. Следовательно, он рекомендовал выполнять любые записи во флэш-памяти в фоновом потоке, а не в основном потоке приложения, где это может связать пользовательский интерфейс и привести к «дряблому» приложению.
(видимо, «janky» - это технический термин ...: -)
Кстати, когда он появляется в сети, обязательно посмотрите презентацию Брэда на YouTube. Иногда бывает трудно уследить за ним, потому что он говорил очень быстро, но он был полон полезных лакомых кусочков, связанных с производительностью.
Преобразование кодов операций ARM в x86, как уже упоминалось, является основным источником задержек в эмуляторе.
По моему опыту, эмулятор действительно очень медленный и не отражает того, что можно ожидать от устройства, особенно процессора Snapdragon.
Даже самые простые приложения в эмуляторе (я говорю о LinearLayout с парой TextView) требуют времени для загрузки и выполнения действия.
В основном, отставание кажется начальным. Под этим я подразумеваю, что если вы прокрутите список в эмуляторе, потребуется секунда, чтобы распознать действие, и сначала он будет немного резким, но потом станет более плавным.
Короче говоря, я бы не рекомендовал разрабатывать игру с использованием эмулятора для чего-либо, кроме начального программирования, отладки и, возможно, просмотра того, как организованы действия. У вас не будет никакого представления об играбельности без реального устройства.
P.S. Не забудьте протестировать свою игру на разных версиях Android и найти общие проблемы, с которыми игры сталкиваются в разных версиях Android.