Hardwarová akcelerace pro výkon emulátoru (Hyper-V a HAXM)

Tento článek vysvětluje, jak pomocí funkcí hardwarové akcelerace počítače maximalizovat výkon Android Emulatoru.

Visual Studio usnadňuje vývojářům testování a ladění aplikací Xamarin.Android pomocí emulátoru Androidu v situacích, kdy zařízení s Androidem není dostupné nebo nepraktické. Emulátor Androidu se ale spouští příliš pomalu, pokud hardwarová akcelerace není na počítači, na kterém běží, k dispozici. Výkon emulátoru Androidu můžete výrazně zlepšit použitím speciálních imagí virtuálních zařízení x86 ve spojení s virtualizačními funkcemi počítače.

Scénář HAXM WHPX Hypervisor.Framework
Máte procesor Intel X X X
Máte procesor AMD X
Chcete podporovat Technologii Hyper-V. X
Chcete podporovat vnořenou virtualizaci. Omezená
Chcete používat technologie, jako je Docker (s WSL2) X X

Zrychlení emulátorů Androidu ve Windows

Pro urychlení emulátoru Androidu jsou k dispozici následující virtualizační technologie:

  1. Hyper-V a platforma Hypervisor Windows (WHPX) od Microsoftu. Hyper-V je virtualizační funkce Systému Windows, která umožňuje spouštět virtualizované počítačové systémy na fyzickém hostitelském počítači.

  2. Správce akcelerovaných spouštění hardwaru společnosti Intel (HAXM) HAXM je virtualizační modul pro počítače s procesory Intel.

Pro co nejlepší prostředí ve Windows se doporučuje zrychlit emulátor Androidu pomocí nástroje WHPX. Pokud není na vašem počítači k dispozici WHPX, můžete použít HAXM. Emulátor Androidu automaticky použije hardwarovou akceleraci, pokud jsou splněna následující kritéria:

  • Hardwarová akcelerace je dostupná a povolená na vývojovém počítači.

  • Emulátor spouští systémovou image vytvořenou pro virtuální zařízení založené na platformě x86.

Důležité

Emulátor akcelerovaného virtuálního počítače nejde spustit v jiném virtuálním počítači, například virtuální počítač hostovaný službou VirtualBox, VMware nebo Docker (pokud nepoužíváte WSL2). Emulátor Androidu musíte spustit přímo na systémovém hardwaru.

Informace o spouštění a ladění pomocí emulátoru Androidu najdete v tématu Ladění v emulátoru Androidu.

Rychlejší zrychlování pomocí Hyper-V

Před povolením technologie Hyper-V si přečtěte následující část a ověřte, že váš počítač podporuje technologii Hyper-V.

Ověření podpory technologie Hyper-V

Hyper-V běží na platformě Hypervisor Windows. Pokud chcete používat emulátor Androidu s Technologií Hyper-V, musí váš počítač splňovat následující kritéria pro podporu platformy Hypervisor windows:

  • Hardware počítače musí splňovat následující požadavky:

    • 64bitový procesor Intel nebo AMD Ryzen s překladem adres druhé úrovně (SLAT).
    • Podpora procesoru pro rozšíření režimu monitorování virtuálních počítačů (VT-c v procesorech Intel).
    • Minimálně 4 GB paměti.
  • V systému BIOS počítače musí být povoleny následující položky:

    • Virtualizační technologie (může mít jiný popisek v závislosti na výrobci základní desky).
    • Prevence spouštění dat vynucená hardwarem
  • Počítač musí být aktualizován na aktualizaci Windows 10 z dubna 2018 (build 1803) nebo novější. Pomocí následujícího postupu můžete ověřit, jestli je vaše verze Windows aktuální:

    1. Do vyhledávacího pole windows zadejte O produktu.

    2. Ve výsledcích hledání vyberte O počítači .

    3. Posuňte se v dialogovém okně O produktu dolů do části Specifikace systému Windows.

    4. Ověřte, že verze je minimálně 1803:

      Windows specifications

Pokud chcete ověřit, jestli je hardware a software počítače kompatibilní s technologií Hyper-V, otevřete příkazový řádek a zadejte následující příkaz:

systeminfo

Pokud všechny uvedené požadavky technologie Hyper-V mají hodnotu Ano, může váš počítač podporovat Technologii Hyper-V. Příklad:

Example systeminfo output

Povolení akcelerace Technologie Hyper-V

Pokud váš počítač splňuje výše uvedená kritéria, pomocí následujících kroků urychlete emulátor Androidu pomocí technologie Hyper-V:

  1. Do vyhledávacího pole Windows zadejte funkce windows a ve výsledcích hledání vyberte Zapnout nebo vypnout funkce Systému Windows. V dialogovém okně Funkce systému Windows povolte platformu Hyper-V i Platformu Hypervisoru windows:

    Enabling Hyper-V and Windows Hypervisor Platform

    Po provedení těchto změn restartujte počítač.

Důležité

Na Aktualizace Windows 10 z října 2018 (RS5) a vyšších potřebujete povolit technologii Hyper-V, protože bude automaticky používat platformu Windows Hypervisor Platform (WHPX).

  1. Nainstalujte Sadu Visual Studio 15.8 nebo novější (tato verze sady Visual Studio poskytuje podporu integrovaného vývojového prostředí (IDE) pro spuštění emulátoru Androidu s technologií Hyper-V.

  2. Nainstalujte balíček Android Emulator 27.2.7 nebo novější. Chcete-li nainstalovat tento balíček, přejděte do nástroje > Android > SDK Manager v sadě Visual Studio. Vyberte kartu Nástroje a ujistěte se, že verze emulátoru Androidu je minimálně 27.2.7. Ujistěte se také, že verze nástrojů sady Android SDK je 26.1.1 nebo novější:

    Android SDKs and Tools dialog

Při vytváření virtuálního zařízení (viz Správa virtuálních zařízení s Androidem Správce zařízení) nezapomeňte vybrat bitovou kopii systému x86. Pokud použijete bitovou kopii systému založenou na ARM, virtuální zařízení se nerychlí a spustí se pomalu.

Technologie Hyper-V by teď měla být povolená a můžete spustit akcelerovaný emulátor Androidu.

Rychlejší zrychlování pomocí HAXM

Pokud váš počítač hyper-V nepodporuje, můžete k urychlení emulátoru Androidu použít HAXM. Pokud chcete používat HAXM, musíte ochranu Device Guard zakázat.

Ověření podpory HAXM

Pokud chcete zjistit, jestli váš hardware podporuje HAXM, postupujte podle pokynů v tématu Podporuje moje procesory technologii Intel Virtualization Technology? Pokud váš hardware podporuje HAXM, můžete pomocí následujícího postupu zkontrolovat, jestli už je HAXM nainstalovaný:

  1. Otevřete okno příkazového řádku a zadejte následující příkaz:

    sc query intelhaxm
    
  2. Zkontrolujte výstup a zjistěte, jestli je spuštěný proces HAXM. pokud ano, měl by se zobrazit výstup s výpisem intelhaxm stavu jako RUNNING. Příklad:

    Output from sc query command when HAXM is available

    Pokud STATE není nastavená hodnota RUNNING, není systém HAXM nainstalován.

Pokud váš počítač podporuje HAXM, ale HAXM není nainstalovaný, nainstalujte HAXM podle kroků v další části.

Instalace HAXM

Instalační balíčky HAXM pro Windows jsou k dispozici na stránce vydání GitHubu Správce zrychleného spouštění hardwaru Intel. Ke stažení a instalaci HAXM použijte následující postup:

  1. Z webu Intel si stáhněte nejnovější instalační program virtualizačního stroje HAXM pro Windows. Výhodou stažení instalačního programu HAXM přímo z webu Intel je, že můžete mít jistotu, že používáte nejnovější verzi.

  2. Spusťte haxm-N.N.N-setup.exe (kde N.N.N je číslo verze) a spusťte instalační program HAXM. Přijměte výchozí hodnoty v dialogových oknech instalačního programu:

    Intel Hardware Accelerated Execution Manager Setup window

Při vytváření virtuálního zařízení (viz Správa virtuálních zařízení s Androidem Správce zařízení) nezapomeňte vybrat bitovou kopii systému x86. Pokud použijete bitovou kopii systému založenou na ARM, virtuální zařízení se nerychlí a spustí se pomalu.

Řešení problému

Nápovědu k řešení potíží s hardwarovou akcelerací najdete v průvodci odstraňováním potíží s emulátorem Androidu.

Zrychlení emulátorů Androidu v systému macOS

Pro urychlení emulátoru Androidu jsou k dispozici následující virtualizační technologie:

  1. Architektura Hypervisoru společnosti Apple. Hypervisor je funkce systému macOS 10.10 a novější, která umožňuje spouštět virtuální počítače na Macu.

  2. Správce akcelerovaných spouštění hardwaru společnosti Intel (HAXM) HAXM je virtualizační modul pro počítače s procesory Intel.

K urychlení emulátoru Androidu se doporučuje použít architekturu Hypervisoru. Pokud hypervisorová architektura není na vašem Macu dostupná, můžete použít HAXM. Emulátor Androidu automaticky použije hardwarovou akceleraci, pokud jsou splněna následující kritéria:

  • Hardwarová akcelerace je dostupná a povolená na vývojovém počítači.

  • Emulátor spouští systémovou image vytvořenou pro virtuální zařízení založené na platformě x86.

Důležité

V jiném virtuálním počítači, jako je virtuální počítač hostovaný službou VirtualBox, VMware nebo Docker, nemůžete spustit akcelerovaný emulátor virtuálního počítače. Emulátor Androidu musíte spustit přímo na systémovém hardwaru.

Informace o spouštění a ladění pomocí emulátoru Androidu najdete v tématu Ladění v emulátoru Androidu.

Rychlejší zrychlování s využitím architektury Hypervisoru

Pokud chcete používat emulátor Androidu s architekturou Hypervisoru, musí váš Mac splňovat následující kritéria:

  • Na Macu musí běžet macOS 10.10 nebo novější.

  • Procesor vašeho Počítače Mac musí být schopný podporovat architekturu Hypervisoru.

Pokud váš Mac splňuje tato kritéria, emulátor Androidu automaticky použije architekturu Hypervisoru pro zrychlení. Pokud si nejste jistí, jestli je na macu podporovaná architektura Hypervisoru, projděte si průvodce odstraňováním potíží, kde najdete způsoby, jak ověřit, jestli váš Mac podporuje Hypervisor.

Pokud mac nepodporuje architekturu Hypervisoru, můžete pomocí HAXM zrychlit emulátor Androidu (popsaný dále).

Rychlejší zrychlování pomocí HAXM

Pokud váš Mac nepodporuje architekturu Hypervisoru (nebo používáte verzi macOS starší než 10.10), můžete k urychlení emulátoru Androidu použít Správce akcelerovaných spouštění hardwaru od Společnosti Intel.

Před prvním použitím emulátoru Androidu s HAXM je vhodné ověřit, jestli je systém HAXM nainstalovaný a dostupný pro použití emulátoru Androidu.

Ověření podpory HAXM

Pomocí následujících kroků můžete zkontrolovat, jestli už je HAXM nainstalovaný:

  1. Otevřete terminál a zadejte následující příkaz:

    ~/Library/Developer/Xamarin/android-sdk-macosx/tools/emulator -accel-check
    

    Tento příkaz předpokládá, že je sada Android SDK nainstalovaná ve výchozím umístění ~/Library/Developer/Xamarin/android-sdk-macosx. Pokud ne, upravte výše uvedenou cestu pro umístění sady Android SDK na počítači Mac.

  2. Pokud je nainstalovaný HAXM, výše uvedený příkaz vrátí zprávu podobnou následujícímu výsledku:

    HAXM version 7.2.0 (3) is installed and usable.
    

    Pokud haXM není nainstalovaný, vrátí se zpráva podobná následujícímu výstupu:

    HAXM is not installed on this machine (/dev/HAX is missing).
    

Pokud není služba HAXM nainstalovaná, nainstalujte HAXM pomocí kroků v další části.

Instalace HAXM

Instalační balíčky HAXM pro macOS jsou k dispozici na stránce Správce zrychleného spouštění hardwaru Intel. Ke stažení a instalaci HAXM použijte následující postup:

  1. Z webu Intel si stáhněte nejnovější instalační program virtualizačního modulu HAXM pro macOS.

  2. Spusťte instalační program HAXM. Přijměte výchozí hodnoty v dialogových oknech instalačního programu:

    Intel Hardware Accelerated Execution Manager Setup window

Řešení problému

Nápovědu k řešení potíží s hardwarovou akcelerací najdete v průvodci odstraňováním potíží s emulátorem Androidu.