Udostępnij za pośrednictwem


Przyspieszanie sprzętowe pod kątem wydajności emulatora (Hyper-V i HAXM)

W tym artykule wyjaśniono, jak używać funkcji przyspieszania sprzętowego komputera w celu zmaksymalizowania wydajności emulatora systemu Android.

Program Visual Studio ułatwia deweloperom testowanie i debugowanie aplikacji platformy Xamarin.Android przy użyciu emulatora systemu Android w sytuacjach, gdy urządzenie z systemem Android jest niedostępne lub niepraktyczne. Jednak emulator systemu Android działa zbyt wolno, jeśli przyspieszanie sprzętowe nie jest dostępne na komputerze z systemem . Możesz znacząco poprawić wydajność emulatora systemu Android przy użyciu specjalnych obrazów urządzeń wirtualnych x86 w połączeniu z funkcjami wirtualizacji komputera.

Scenariusz HaXM WHPX Hypervisor.Framework
Masz procesor Intel X X X
Masz procesor AMD X
Chcesz obsługiwać funkcję Hyper-V X
Chcesz obsługiwać wirtualizację zagnieżdżonych Ograniczony
Chcesz używać technologii, takich jak Platforma Docker (z WSL2) X X

Przyspieszanie emulatorów systemu Android w systemie Windows

Dostępne są następujące technologie wirtualizacji umożliwiające przyspieszenie emulatora systemu Android:

  1. Funkcja Hyper-V i platforma funkcji Hypervisor systemu Windows (WHPX) firmy Microsoft. Funkcja Hyper-V to funkcja wirtualizacji systemu Windows, która umożliwia uruchamianie zwirtualizowanych systemów komputerowych na komputerze hosta fizycznego.

  2. Menedżer przyspieszonego wykonywania sprzętowego (HAXM) firmy Intel. HAXM to aparat wirtualizacji dla komputerów z procesorami Intel.

Aby uzyskać najlepsze środowisko w systemie Windows, zaleca się użycie WHPX w celu przyspieszenia emulatora systemu Android. Jeśli WHPX nie jest dostępny na komputerze, można użyć funkcji HAXM. Emulator systemu Android automatycznie użyje przyspieszania sprzętowego, jeśli zostaną spełnione następujące kryteria:

  • Przyspieszanie sprzętowe jest dostępne i włączone na komputerze dewelopera.

  • Emulator uruchamia obraz systemu utworzony dla urządzenia wirtualnego opartego na architekturze x86.

Ważne

Nie można uruchomić emulatora przyspieszonego przez maszynę wirtualną wewnątrz innej maszyny wirtualnej, takiej jak maszyna wirtualna hostowana przez usługę VirtualBox, VMware lub Docker (chyba że jest używana usługa WSL2). Należy uruchomić emulator systemu Android bezpośrednio na sprzęcie systemowym.

Aby uzyskać informacje na temat uruchamiania i debugowania za pomocą emulatora systemu Android, zobacz Debugowanie w emulatorze systemu Android.

Przyspieszanie pracy z funkcją Hyper-V

Przed włączeniem funkcji Hyper-V przeczytaj poniższą sekcję, aby sprawdzić, czy komputer obsługuje funkcję Hyper-V.

Weryfikowanie obsługi funkcji Hyper-V

Funkcja Hyper-V działa na platformie funkcji Hypervisor systemu Windows. Aby korzystać z emulatora systemu Android z funkcją Hyper-V, komputer musi spełniać następujące kryteria, aby obsługiwać platformę funkcji Hypervisor systemu Windows:

  • Sprzęt komputera musi spełniać następujące wymagania:

    • 64-bitowe procesory Intel lub AMD Ryzen z translacjami adresów drugiego poziomu (SLAT).
    • Obsługa procesora CPU dla rozszerzenia trybu monitora maszyny wirtualnej (VT-c na procesorach Intel).
    • Co najmniej 4 GB pamięci.
  • W systemie BIOS komputera należy włączyć następujące elementy:

    • Technologia wirtualizacji (może mieć inną etykietę w zależności od producenta płyty głównej).
    • Sprzęt wymuszane zapobieganie wykonywaniu danych.
  • Komputer musi zostać zaktualizowany do aktualizacji systemu Windows 10 z kwietnia 2018 r. (kompilacja 1803) lub nowszej. Aby sprawdzić, czy wersja systemu Windows jest aktualna, wykonaj następujące czynności:

    1. Wprowadź informacje w polu wyszukiwania systemu Windows.

    2. Wybierz pozycję Informacje o komputerze w wynikach wyszukiwania.

    3. Przewiń w dół w oknie dialogowym Informacje do sekcji Specyfikacje systemu Windows.

    4. Sprawdź, czy wersja ma co najmniej 1803:

      Windows specifications

Aby sprawdzić, czy sprzęt i oprogramowanie komputera są zgodne z funkcją Hyper-V, otwórz wiersz polecenia i wpisz następujące polecenie:

systeminfo

Jeśli wszystkie wymienione wymagania funkcji Hyper-V mają wartość Tak, komputer może obsługiwać funkcję Hyper-V. Na przykład:

Example systeminfo output

Włączanie przyspieszania funkcji Hyper-V

Jeśli komputer spełnia powyższe kryteria, wykonaj następujące kroki, aby przyspieszyć emulator systemu Android za pomocą funkcji Hyper-V:

  1. Wprowadź funkcje systemu Windows w polu wyszukiwania systemu Windows i wybierz pozycję Włącz lub wyłącz funkcje systemu Windows w wynikach wyszukiwania. W oknie dialogowym Funkcje systemu Windows włącz zarówno funkcję Hyper-V, jak i platformę funkcji Hypervisor systemu Windows:

    Enabling Hyper-V and Windows Hypervisor Platform

    Po wprowadzeniu tych zmian uruchom ponownie komputer.

Ważne

W Aktualizacja systemu Windows 10 z października 2018 (RS5) i nowszych wystarczy włączyć funkcję Hyper-V, ponieważ będzie automatycznie używać platformy Funkcji Hypervisor systemu Windows (WHPX).

  1. Zainstaluj program Visual Studio 15.8 lub nowszy (ta wersja programu Visual Studio zapewnia obsługę środowiska IDE do uruchamiania emulatora systemu Android z funkcją Hyper-V).

  2. Zainstaluj pakiet emulatora systemu Android 27.2.7 lub nowszy. Aby zainstalować ten pakiet, przejdź do pozycji Narzędzia >> Android SDK Manager w programie Visual Studio. Wybierz kartę Narzędzia i upewnij się, że wersja emulatora systemu Android ma co najmniej 27.2.7. Upewnij się również, że zestaw Android SDK Tools w wersji 26.1.1 lub nowszej:

    Android SDKs and Tools dialog

Podczas tworzenia urządzenia wirtualnego (zobacz Zarządzanie urządzeniami wirtualnymi przy użyciu Menedżer urządzeń systemu Android) pamiętaj, aby wybrać obraz systemu oparty na architekturze x86. Jeśli używasz obrazu systemu opartego na usłudze ARM, urządzenie wirtualne nie zostanie przyspieszone i będzie działać wolno.

Funkcja Hyper-V powinna być teraz włączona i można uruchomić przyspieszony emulator systemu Android.

Przyspieszanie pracy przy użyciu funkcji HAXM

Jeśli komputer nie obsługuje funkcji Hyper-V, możesz użyć funkcji HAXM do przyspieszenia emulatora systemu Android. Jeśli chcesz używać funkcji HAXM, musisz wyłączyć funkcję Device Guard .

Weryfikowanie obsługi funkcji HAXM

Aby ustalić, czy sprzęt obsługuje protokół HAXM, wykonaj kroki opisane w temacie Czy mój procesor obsługuje technologię Intel Virtualization Technology?. Jeśli sprzęt obsługuje protokół HAXM, możesz sprawdzić, czy funkcja HAXM jest już zainstalowana, wykonując następujące czynności:

  1. Otwórz okno wiersza polecenia i wprowadź następujące polecenie:

    sc query intelhaxm
    
  2. Sprawdź dane wyjściowe, aby sprawdzić, czy proces HAXM jest uruchomiony. Jeśli tak jest, powinny zostać wyświetlone dane wyjściowe zawierające intelhaxm stan jako RUNNING. Na przykład:

    Output from sc query command when HAXM is available

    Jeśli STATE nie ustawiono wartości RUNNING, program HAXM nie jest zainstalowany.

Jeśli komputer może obsługiwać program HAXM, ale program HAXM nie jest zainstalowany, wykonaj kroki opisane w następnej sekcji, aby zainstalować program HAXM.

Instalowanie programu HAXM

Pakiety instalacyjne programu HAXM dla systemu Windows są dostępne na stronie wydania programu GitHub Menedżera przyspieszonego wykonywania sprzętu firmy Intel. Aby pobrać i zainstalować program HAXM, wykonaj następujące kroki:

  1. W witrynie internetowej firmy Intel pobierz najnowszy instalator aparatu wirtualizacji HAXM dla systemu Windows. Zaletą pobierania instalatora HAXM bezpośrednio z witryny internetowej firmy Intel jest to, że można mieć pewność, że korzystasz z najnowszej wersji.

  2. Uruchom haxm-N.N.N-setup.exe (gdzie N.N.N. jest numerem wersji), aby uruchomić instalatora HAXM. Zaakceptuj wartości domyślne w oknach dialogowych instalatora:

    Intel Hardware Accelerated Execution Manager Setup window

Podczas tworzenia urządzenia wirtualnego (zobacz Zarządzanie urządzeniami wirtualnymi przy użyciu Menedżer urządzeń systemu Android) pamiętaj, aby wybrać obraz systemu oparty na architekturze x86. Jeśli używasz obrazu systemu opartego na usłudze ARM, urządzenie wirtualne nie zostanie przyspieszone i będzie działać wolno.

Rozwiązywanie problemów

Aby uzyskać pomoc dotyczącą rozwiązywania problemów z przyspieszaniem sprzętowym, zobacz Przewodnik rozwiązywania problemów z emulatorem systemu Android.

Przyspieszanie emulatorów systemu Android w systemie macOS

Dostępne są następujące technologie wirtualizacji umożliwiające przyspieszenie emulatora systemu Android:

  1. Struktura hypervisor firmy Apple. Funkcja Hypervisor to funkcja systemu macOS 10.10 i nowszych, która umożliwia uruchamianie maszyn wirtualnych na komputerze Mac.

  2. Menedżer przyspieszonego wykonywania sprzętowego (HAXM) firmy Intel. HAXM to aparat wirtualizacji dla komputerów z procesorami Intel.

Zaleca się użycie struktury hypervisor w celu przyspieszenia emulatora systemu Android. Jeśli platforma hypervisor nie jest dostępna na komputerze Mac, można użyć funkcji HAXM. Emulator systemu Android automatycznie użyje przyspieszania sprzętowego, jeśli zostaną spełnione następujące kryteria:

  • Przyspieszanie sprzętowe jest dostępne i włączone na komputerze dewelopera.

  • Emulator uruchamia obraz systemu utworzony dla urządzenia wirtualnego opartego na architekturze x86.

Ważne

Nie można uruchomić emulatora przyspieszonego przez maszynę wirtualną wewnątrz innej maszyny wirtualnej, takiej jak maszyna wirtualna hostowana przez usługę VirtualBox, VMware lub Docker. Należy uruchomić emulator systemu Android bezpośrednio na sprzęcie systemowym.

Aby uzyskać informacje na temat uruchamiania i debugowania za pomocą emulatora systemu Android, zobacz Debugowanie w emulatorze systemu Android.

Przyspieszanie za pomocą struktury hypervisor

Aby korzystać z emulatora systemu Android z funkcją Hypervisor Framework, komputer Mac musi spełniać następujące kryteria:

  • Na komputerze Mac musi być uruchomiony system macOS 10.10 lub nowszy.

  • Procesor MAC musi być w stanie obsługiwać platformę hypervisor.

Jeśli komputer Mac spełnia te kryteria, emulator systemu Android automatycznie użyje struktury hypervisor do przyspieszenia. Jeśli nie masz pewności, czy platforma Hypervisor jest obsługiwana na komputerze Mac, zobacz Przewodnik rozwiązywania problemów, aby uzyskać informacje na temat sposobów sprawdzania, czy komputer Mac obsługuje funkcję Hypervisor.

Jeśli platforma hypervisor nie jest obsługiwana przez komputer Mac, możesz użyć narzędzia HAXM, aby przyspieszyć emulator systemu Android (opisany poniżej).

Przyspieszanie pracy przy użyciu funkcji HAXM

Jeśli komputer Mac nie obsługuje platformy hypervisor (lub używasz wersji systemu macOS starszej niż 10.10), możesz użyć menedżera przyspieszonego wykonywania sprzętowego firmy Intel (HAXM), aby przyspieszyć emulator systemu Android.

Przed pierwszym użyciem emulatora systemu Android z funkcją HAXM warto sprawdzić, czy program HAXM jest zainstalowany i dostępny dla emulatora systemu Android.

Weryfikowanie obsługi funkcji HAXM

Sprawdź, czy funkcja HAXM jest już zainstalowana, wykonując następujące kroki:

  1. Otwórz terminal i wprowadź następujące polecenie:

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

    To polecenie zakłada, że zestaw SDK systemu Android jest zainstalowany w domyślnej lokalizacji ~/Library/Developer/Xamarin/android-sdk-macosx; jeśli nie, zmodyfikuj powyższą ścieżkę lokalizacji zestawu SDK systemu Android na komputerze Mac.

  2. Jeśli program HAXM jest zainstalowany, powyższe polecenie zwróci komunikat podobny do następującego:

    HAXM version 7.2.0 (3) is installed and usable.
    

    Jeśli funkcja HAXM nie jest zainstalowana, zostanie zwrócony komunikat podobny do następujących danych wyjściowych:

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

Jeśli program HAXM nie jest zainstalowany, wykonaj kroki opisane w następnej sekcji, aby zainstalować program HAXM.

Instalowanie programu HAXM

Pakiety instalacyjne HAXM dla systemu macOS są dostępne na stronie Menedżera przyspieszonego wykonywania sprzętu Intel. Aby pobrać i zainstalować program HAXM, wykonaj następujące kroki:

  1. W witrynie internetowej firmy Intel pobierz najnowszy instalator aparatu wirtualizacji HAXM dla systemu macOS.

  2. Uruchom instalatora HAXM. Zaakceptuj wartości domyślne w oknach dialogowych instalatora:

    Intel Hardware Accelerated Execution Manager Setup window

Rozwiązywanie problemów

Aby uzyskać pomoc dotyczącą rozwiązywania problemów z przyspieszaniem sprzętowym, zobacz Przewodnik rozwiązywania problemów z emulatorem systemu Android.