改善Windows 7 x64上的Android模拟器性能


9

我在Windows 7 x64上运行Eclipse Helios。我有一个带有4.0 GB的Core 2 Duo 2.0 Ghz,我认为应该足够了,因为我从来没有在其他开发工具上遇到任何性能问题。

当我在Android Emulator(2.3.3和3.0)上运行我的第一个应用程序时,至少花了5分钟来加载操作系统,起初它甚至没有运行HelloAndroid应用程序。即使我设法运行该应用程序,性能也无法忍受。

我尝试了各种方法来改善性能,但未显示出任何重大改进。我想我缺少了一些东西。

我尝试过的事情:

在AVD Manager上

  1. 设备RAM大小为512。
  2. 分辨率为640 x 480。
  3. 快照已启用。

在项目偏好设置\ Android上

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

我无法尝试的操作:-部署在设备上(没有任何设备)。

顺便说一句,我在MAC Mini 2.66 GHz 2 GB上遇到了相同的问题,但是这些设置有所不同。

任何人都可以提供任何技巧来改善这种la脚表现吗?


获得具有2.8 GHz超线程功能的四核和疯狂的视频卡。h 但严重的是,仿真器运行缓慢。一般来说,除非您的硬件功能强大一个数量级,否则仿真总是很慢。我认为您的工作不会比您现在拥有的更好。
马修(Matthew)

6
实际上,仿真器尚不支持多核。因此,时钟速度确实很重要。即使在我的新开发机器上,我也会遇到性能问题,尤其是在蜂窝方面。我说的是最新的i7四核,8 GB内存和固态硬盘。
布莱恩丹尼

哈,所以我旧的3.0 GHz Pentium 4应该更好地运行(背景中没有其他主要内容)?疯。
马修(Matthew)

@Bryan Denny即使模拟器没有多线程,将其分配给多个内核也有助于将工作负载转移到较少使用的内核,但这会降低稳定性,导致定期崩溃。因此,这是速度/稳定性的折衷,但是我更喜欢使用所有内核来提高速度。
onik 2011年

Answers:


6

该仿真器很慢,因为它是一个qemu,可以模拟消费型PC使用的完全不同的CPU体系结构:ARM(与PC上的x86(_64)相比)

这意味着必须仿真仿真器的ARM CPU上的每条CPU指令,这本身就很。模拟器也是AFAIK单线程的。这意味着只能通过快速的CPU内核(多内核在这里无济于事)和合理数量的RAM才能实现加速。


模拟CPU的速度通常很慢,但是电话模拟器也模拟ARM,而且速度更快。不仅仅是指令集。蜂窝似乎要复杂得多(可能需要功能更强大的ARM处理器)。GoogleTV是x86,所以我想知道它的仿真器性能如何……(无论它们是仿真x86还是作为本机进程运行。)
idbrii

3

您可以尝试使用第三方模拟器,根据我的经验,该模拟器效果很好。我不会告诉您它不会不时出现延迟,但是请进行试用,您会看到此模拟器运行得更好。

它不是免费的应用程序,但也不昂贵。您可以在YouWave Android Emulator中找到它。试试看,然后再找我们;)


0

众所周知,蜂窝(3.0)在模拟器中运行缓慢。您可以尝试首先将大部分功能用于手机,以最大程度地减少使用Honeycomb的次数。

有一些BIOS设置可在CPU中启用虚拟化支持。我认为打开这些功能可能会加快模拟器的速度,但是我不确定。(我不知道您系统的确切名称,但是它们的名称中会包含“虚拟化”或“ vt-x”或其他名称。

您也可以尝试将处理器专用于仿真器。您可以使用任务管理器更改 Windows中进程的“处理器相似性”。如果您对其进行更改以使仿真器更喜欢一个处理器,而其他主要任务(例如eclipse)避开该处理器,则可能会有所收获。如果您的处理器是超线程的,请确保将两个虚拟内核视为一个内核,并将仿真器分配给两个虚拟内核。

(使用ProcessExplorer查找过程可能会更容易,因为您可以单击目标按钮,然后单击一个窗口,它会显示该窗口的过程。)


更新:请参阅Android文档上的“ 使用硬件加速”部分,以了解如何在CPU中使用GPU和虚拟化支持来加速模拟器。


增强型CPU指令集无助于加快仿真器的速度,因为它基本上是qemu来仿真ARM CPU。
流量

除非它们帮助qemu以更快的速度处理ARM指令。(因此它可以匹配ARM的速率。)请记住,Honeycomb 在仿真器上的运行速度比在真实设备上。说ARM有SIMD指令,但是x86没有,而是将它们模拟为串行操作。在x86上启用SIMD CPU扩展将解决该问题。就是说,我不知道虚拟化支持做什么,只是它旨在提高模拟CPU的性能。
idbrii 2011年

虚拟化和仿真是不同的。
Lie Ryan

@Lie:的确如此,但是这很重要:Intel / AMD的虚拟化支持(理论上)使Android模拟器更快。有人可能对他们的命名不准确。(我猜想CPU支持既可用于虚拟化又可用于CPU仿真,因此CPU供应商实际上并没有超出预期。)哎呀,仅仅因为它们不相同,并不意味着它们不能组合在一起。一个系统:“ QEMU是通用的开源计算机仿真器和虚拟器”
idbrii 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.