Androidエミュレーターは少し遅いです。Motorola DroidやNexus Oneなどの一部のデバイスでは、アプリは実際のデバイスでエミュレーターよりも高速に実行されます。これは、ゲームや視覚効果をテストする際の問題です。
エミュレータを可能な限り高速に実行するにはどうすればよいですか?私はそのパラメータをいじっていますが、顕著な改善を示す構成をまだ見つけていません。
Androidエミュレーターは少し遅いです。Motorola DroidやNexus Oneなどの一部のデバイスでは、アプリは実際のデバイスでエミュレーターよりも高速に実行されます。これは、ゲームや視覚効果をテストする際の問題です。
エミュレータを可能な限り高速に実行するにはどうすればよいですか?私はそのパラメータをいじっていますが、顕著な改善を示す構成をまだ見つけていません。
回答:
約50%高速
Android SDKルートフォルダーに移動し、extras \ intel \ Hardware_Accelerated_Execution_Managerに移動します。IntelHaxm.exeファイルを実行してインストールします。(Android Studioでは、次の場所に移動できます:設定-> Android SDK-> SDKツール-> Intel x86エミュレーターアクセラレーター(HAXMインストーラー))
「Intel Atom x86」CPU / ABIでAVDを作成する
また、これをインストールすることを忘れないでください
AVD作成中のPSがエミュレーションメモリを追加:ハードウェア/新規/デバイスRAMサイズ/設定値512以上
PS Fedoraの場合、Ubuntuの場合
PS:このツールをチェックしてください。試用でも非常に便利です
/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
SDKマネージャーからパッケージをダウンロードした後にインストールする必要があり ます。
更新:Intel x86イメージが利用可能になったので、最善の答えは上記の熱意です。
CommonsWareが正しく指摘したように、エミュレータはARM CPUをエミュレートするため低速であり、これにはIntelのオペコードへの変換が必要です。この仮想化はCPUを消費します。
エミュレータを高速化するには、CPUを増やす必要があります。高速なCPUから始めるか、可能であればアップグレードしてください。
次に、エミュレータに使用しているCPUを増やします。
50%程度の改善が見られますこれらの2つの変更られます。
Windows 7でプロセッサアフィニティを設定するには:
注:この方法でアフィニティを変更すると、プロセスの存続期間中のみ変更されます。次のスタート、あなたはもう一度それをしなければなりません。
Genymotionを試してみることをお勧めします。これはOracleのVirtualBoxで実行され、中程度のシステムでは合法的に60 fpsに達します。
以下は、私のワークショップの1つからのスクリーンキャップです。ローエンドの2012年モデルのMacBook Airで実行しています。
テキストが読めない場合は、56.6 fpsで動作するNexus 7エミュレーターです。追加の(大きな!)ボーナスは、Google PlayとGoogle Play Servicesが仮想マシンに同梱されていることです。
(デモされたアニメーションのソースはここにあります。)
GPUハードウェアアクセラレーションを有効にするAPI 15 v3以降とSDK Tools v17 +を使用している場合は、(IntelのHAXMに加えて)。エミュレータのグラフィックアクセラレーションは、開発用コンピュータのグラフィックハードウェア、特にそのグラフィック処理ユニット(GPU)を利用して、画面の描画を高速化します。これにより、速度が著しく向上します。
エミュレータでデフォルトで有効になっているグラフィックアクセラレーションを有効にするには、AVDを作成するときに、[ハードウェア]セクションで[新規]をクリックし、[GPUエミュレーション]を選択して、値を[はい]に設定します。
実行時にのみアクセラレーションを有効にするには、次のようにエミュレータを起動するときに-gpuフラグを使用します。
emulator -avd <avd_name> -gpu on
編集 Intelイメージを使用するとパフォーマンスが向上しますが、Genymotionを使用することでパフォーマンスが大幅に向上します。Paul Lammertsmaの回答を参照してください。
前の回答
ADT rev 17では、エミュレーターはWindowsおよびMac OS Xの仮想化モードでx86システムイメージの実行をサポートしています。これはパフォーマンスに顕著な影響を与えます。
ADT rev 17ノート:http : //android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
仮想マシンアクセラレーションの設定:http : //developer.android.com/guide/developing/devices/emulator.html#accel-vm
インテルHAXMアクセラレーターをインストールしてインテルAtomイメージを使用した後、エミュレーターは50倍速く実行されているようだと言いたかっただけです。違いは素晴らしいです、それをチェックしてください!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
エミュレータのデフォルトはCore 0のみであり、ほとんどのWindowsアプリケーションはデフォルトで「任意の」コアになることに気づきました。また、それを別のコア(最後のコアなど)に配置すると、エミュレーターが狂ってしまう可能性があります。可能であれば、CPU使用率の高いアプリケーションを他のCPUコアに配置して、速度を向上させることができます。
ハードウェア的には、シングルコアアプリケーションで機能する最も高速なCPUを入手してください。3つ以上のコアでは、エミュレーターのパフォーマンスの点で大きな違いが発生しない場合があります。
Eclipse + Androidエミュレーターを一緒に使用すると、大量のRAMを消費します。2 GBのRAMを搭載したシステムを使用しているため、少なくとも3 GBのRAMをお勧めします。また、システムがRAMを使い果たしてページファイルを使い始めたため、速度が低下しました。
そのための最高のCPUは、おそらくクロックが高く(同じシリーズのCPUの尺度としてのみクロックを使用)、SIMD以外の操作を適切に処理し、ターボブーストメカニズムを備えていると思います。Javaベースのベンチマークはそれほど多くありませんが、圧縮やオフィスなどのアプリケーションベンチマークを全体的に探します。ゲームやメディアはSIMDの影響を大きく受けるので、見ないでください。あなたがJavaのものを見つけたら、さらに良いです。
今年のGoogle I / O(2011)では、Googleはより高速なエミュレータを示しました。問題はARMとx86の間のバイトコードではなく、QEMUによって実行されるソフトウェアレンダリングにあります。それらはQEMUのレンダリングをバイパスし、私が信じているXサーバーに直接レンダリングを送信します。彼らは本当に良い性能とfpsでカーゲームを見せました。
開発者がいつ利用できるようになるのか...
Googleは最近、Android用の新しいエミュレータを発表しました。古いものよりもはるかに高速で優れています。詳細については、こちらをご覧ください。
これは、clr仮想マシンがコードオペコード変換なしで直接CPUを使用するためだと思います。これは、clrアプリケーションの最適化であるか、またはINTELプロセッサで開始されたwindows mobile / window phone 7である可能性があります。LinuxベースのAndroidプラットフォーム。理論的には、i686環境の仮想マシンでAndroidを起動できます。この場合、vmwareなどの仮想マシンはいくつかのオペコードを直接実行できます。ただし、このオプションは、Javaで記述した場合にのみ許可されます。これは、Javaがバイトコードを解釈するか、実行前にプリコンパイルするためです。参照:http : //www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
@zestありがとうございます!魅力のように働いた。注意事項:カーネルパニック問題に対処するためにHAXMにIntelのホットフィックスを適用する必要があります:http : //software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager また、注意、複数のabiがある場合、最新バージョンのAndroid API(r19)のバグのため、1つをアンインストールする必要があります:https ://code.google.com/p/android/issues/detail ?id= 66740(x86 abiが必要なため、この場合はarmeabi-v7aを削除します)。これらの問題を解決するのに45分かかったほか、エミュレーターのパフォーマンスの向上という点で非常にやりがいのある作業でした。
また、スタンドアロンのエミュレーターとしてインストールできるVisual Studio Android Emulatorを試すこともできます(Visual Studioは必要ありません)。Windows Pro以上のシステムにのみインストールできることに注意してください。
エミュレーターの代わりにGenymotionを使用します。Genymotionの方がパフォーマンスが優れています https://www.genymotion.com
Intel(86)CPU / ABIを使用しています。ARM(armeabi-v7a)を使用して別のエミュレータを作成しましたが、速度がかなり改善されています。私はプラットフォーム4.1.2 APIレベル16を使用しています
これがお役に立てば幸いです。
Goto to your BIOS settings. Enable your Virtualization technology in your settings..
それは私の問題を解決しました...
現在のAndroid StudioをAndroid Studio 2.0に更新し、システムイメージも更新します。
Android Studio 2.0エミュレーターは、Androidの以前のエミュレーターの約3倍の速度で実行されます。ADBの機能強化により、物理デバイスよりもエミュレーターにアプリやデータを10倍速くプッシュできるようになりました。物理デバイスと同様に、公式のAndroidエミュレーターにはGoogle Play開発者サービスも組み込まれているため、より多くのAPI機能をテストできます。最後に、新しいエミュレーターには、通話、バッテリー、ネットワーク、GPSなどを管理するための豊富な新機能があります。