Windows 7 x64에서 Android 에뮬레이터 성능 향상


9

Windows 7 x64에서 Eclipse Helios를 실행하고 있습니다. 4.0 GB의 Core 2 Duo 2.0 Ghz가 있으며 다른 개발 도구와 관련된 성능 문제가 없기 때문에 충분하다고 생각합니다.

Android 에뮬레이터 (2.3.3 및 3.0 모두)에서 첫 번째 앱을 실행할 때 OS를로드하는 데 5 분 이상 걸렸으며 처음에는 HelloAndroid 앱을 실행하지 않았습니다. 응용 프로그램을 실행할 때도 성능을 견딜 수 없었습니다.

성능을 개선하기 위해 다양한 것을 시도했지만 큰 개선은 이루어지지 않았습니다. 뭔가 빠진 것 같아요.

내가 시도한 것 :

AVD 관리자에서

  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에서 같은 문제가 있었지만 이러한 설정은 차이를 만들었습니다.

누구든지이 절름발이 성능을 개선하기위한 팁을 줄 수 있습니까?


하이퍼 스레딩 @ 2.8GHz 및 미친 비디오 카드를 갖춘 쿼드 코어를 사용하십시오. 허. 그러나 심각하게, 에뮬레이터는 느립니다. 일반적으로 말하자면 하드웨어가 훨씬 강력하지 않으면 에뮬레이션이 항상 느립니다. 나는 당신이 이미 가지고있는 것보다 훨씬 더 잘 작동 할 것이라고 생각하지 않습니다.
Matthew 읽기

6
실제로 에뮬레이터는 다중 코어를 지원하지 않습니다 (아직). 따라서 클럭 속도가 정말로 중요합니다. 새로운 dev 시스템에서도 성능 문제, 특히 벌집에 문제가 있습니다. 최신 i7 쿼드 코어, 8GB 메모리 및 솔리드 스테이트 하드 드라이브에 대해 이야기하고 있습니다.
Bryan Denny

하, 구식 3.0GHz Pentium 4가 더 잘 작동해야합니까 (배경에 다른 주요 내용은 없습니까)? 미친.
Matthew 읽기

@Bryan Denny 에뮬레이터가 다중 스레드가 아니더라도 다중 코어를 제공하면 워크로드를 덜 사용되는 코어로 전환하는 데 도움이되지만 안정성이 저하되어 주기적으로 충돌이 발생합니다. 속도 / 안정성 트레이드 오프이지만 속도에 모든 코어를 사용하는 것을 선호합니다.
onik

답변:


6

그것은 소비자의 PC에 의해 사용되는 등 완전히 다른 CPU 아키텍처를 겨루는 QEMU 때문에 에뮬레이터 속도가 느립니다 : ARM (당신의 PC에 대 86 (_64))

에뮬레이터의 ARM의 CPU의 모든 CPU 명령어가 가지고있는이 수단은 그 자체 인, 에뮬레이트 할 둔화 . 또한 에뮬레이터는 AFAIK 단일 스레드입니다. 즉, 빠른 CPU 코어 (여기에서는 멀티 코어가 도움이되지 않음)와 합리적인 양의 RAM만으로 속도를 높일 수 있습니다.


CPU 에뮬레이션 속도는 느리지 만 전화 에뮬레이터도 ARM을 에뮬레이션하고 있으며 훨씬 빠릅니다. 그것은 단지 명령어 세트 이상입니다. 허니컴은 훨씬 더 복잡한 것 같습니다 (아마도 더 강력한 ARM 프로세서가 필요할 수 있습니다). 내가 좋아하는 ... 그 에뮬레이터 성능이 될 것입니다 궁금해 있도록 Google TV에서는 86이다 (그들은 86을 모방하거나 기본 프로세스로 실행 여부.)
idbrii

3

내 경험에 따르면 매우 잘 작동하는 타사 에뮬레이터를 사용해 볼 수 있습니다. 나는 그것이 때때로 지연되지 않을 것이라고 말하지 않을 것이지만, 시험을 치르면이 에뮬레이터가 얼마나 더 잘 작동하는지 알 수 있습니다.

무료 응용 프로그램은 아니지만 비싸지 않습니다. YouWave Android Emulator 에서 찾을 수 있습니다 . 재판을 시도하고 우리에게 돌아와;)


0

허니 콤 (3.0)은 에뮬레이터에서 느리게 느립니다. Honeycomb 사용을 최소화하기 위해 대부분의 기능을 전화기에서 먼저 사용할 수 있습니다.

CPU에서 가상화 지원을 활성화하기위한 일부 BIOS 설정이 있습니다. 이 기능을 켜면 에뮬레이터 속도가 빨라질 수 있지만 확실하지 않습니다. (시스템의 정확한 이름은 모르지만 이름에 "가상화"또는 "vt-x"또는 다른 이름이 있습니다.

프로세서를 에뮬레이터 전용으로 사용할 수도 있습니다. 작업 관리자를 사용하여 Windows 프로세스 의 "프로세서 선호도"변경할 수 있습니다 . 에뮬레이터가 하나의 프로세서를 선호하고 다른 주요 작업 (예 : 일식)이 해당 프로세서를 피하도록 변경하면 약간의 이점이있을 수 있습니다. 프로세서가 하이퍼 스레딩 된 경우 두 개의 가상 코어를 하나의 코어로 취급하고 두 가상 코어를 모두 선호하도록 에뮬레이터를 할당해야합니다.

대상 단추를 클릭 한 다음 창을 클릭하면 해당 창에 대한 프로세스가 표시되므로 ProcessExplorer를 사용 하면 프로세스를 쉽게 찾을 수 있습니다 .


업데이트 : 참고 항목 사용하여 하드웨어 가속 섹션 에뮬레이터를 빠르게하기 위해 CPU에 GPU 가상화 지원을 사용하는 방법을 볼 수있는 안드로이드 문서에 있습니다.


향상된 CPU 명령어 세트는 기본적으로 ARM CPU를 에뮬레이트하는 qemu이므로 에뮬레이터의 속도를 높이는 데 도움이되지 않습니다.
흐름

qemu가 ARM 명령어를 더 빠른 속도로 처리하는 데 도움이되지 않는 한 (따라서 ARM의 속도와 일치 할 수 있습니다.) Honeycomb은 실제 장치보다 에뮬레이터에서 느리게 실행됩니다 . ARM에 SIMD 명령어가 있지만 x86은 직렬 연산으로 명령하지 않고 대신 에뮬레이션했습니다. x86에서 SIMD CPU 확장을 활성화하면 해당 문제가 해결됩니다. 즉, CPU를 시뮬레이션 할 때 성능을 향상시키기위한 것 외에는 가상화 지원이 무엇을하는지 알 수 없습니다.
idbrii

가상화와 에뮬레이션은 동일하지 않습니다.
Lie Ryan

@Lie : 맞습니다.하지만 요점은 다음과 같습니다. Intel / AMD의 가상화 지원은 이론적으로 Android 에뮬레이터를 더 빠르게 만듭니다. 누군가 자신의 이름이 정확하지 않을 수 있습니다. (CPU 지원은 가상화 및 CPU 에뮬레이션 모두에서 작동하므로 CPU 공급 업체는 실제로 표시를 벗어난 것은 아닙니다.) 동일하지 않다고해서 통합 할 수 없다는 의미는 아닙니다. 한 시스템 : "QEMU는 일반 오픈 소스 머신 에뮬레이터 및 가상화 기" 입니다.
idbrii
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.