Skonfiguruj akcelerację sprzętową emulatora Androida

Emulator działa najlepiej, jeśli może używać elementów sprzętowych komputera, takich jak procesora, GPU i modemu, a nie jako czyste oprogramowanie. Możliwość korzystania sprzęt Twojego komputera służący do poprawy wydajności to sprzęt, acceleration.

Emulator może użyć akceleracji sprzętowej, by poprawić można poznać na 2 sposoby:

  • Akceleracja grafiki dla lepszego ekranu renderowanie
  • Przyspieszenie działania maszyn wirtualnych w celu zwiększenia szybkości wykonywania

Akceleracja sprzętowa jest domyślnie włączona na większości komputerów. Jeśli nie jest na komputerze, na tej stronie znajdziesz opis sposobu konfigurowania grafiki przyspieszenia maszyn wirtualnych, aby uzyskać wyższą wydajność z emulatora.

Skonfiguruj akcelerację grafiki

Akceleracja grafiki korzysta ze sprzętu komputera (zwykle z GPU), renderowanie ekranu. Urządzenia z Androidem używają OpenGL w przypadku systemów wbudowanych (OpenGL ES lub GLES) do renderowania zarówno 2D, Grafika 3D na ekranie.

Po utworzeniu urządzenia wirtualnego z Androidem w aplikacji AVD Manager możesz: określ, czy emulator używa do emulacji sprzętu czy oprogramowania z GPU AVD. Zalecamy akcelerację sprzętową. Zazwyczaj jest to szybciej. Może być jednak konieczne użycie akceleracji programowej, jeśli korzysta ze sterowników karty graficznej, które nie są zgodne z emulatorem.

Domyślnie emulator decyduje, czy używać sprzętu czy oprogramowania ustawienia akceleracji graficznej w zależności od konfiguracji komputera. Jeśli Twój sprzęt graficzny sterowniki są zgodne, emulator używa GPU. W przeciwnym razie emulator używa akceleracji programowej (z wykorzystaniem procesora komputera) do symulowania GPU o przetwarzaniu danych.

Jeśli uruchomisz emulator z poziomu wiersza poleceń, możesz zastąpić ustawienia akceleracji grafiki w AVD danej instancji urządzenia wirtualnego.

Wymagania

Aby można było korzystać z akceleracji grafiki, środowisko programistyczne musi mieć :

  • Narzędzia SDK: Zalecana najnowsza wersja (minimalna wersja 17)
  • Platforma SDK: zalecana najnowsza wersja (Android 4.0.3, wersja 3, minimum)

Skonfiguruj akcelerację grafiki w menedżerze AVD

Aby skonfigurować akcelerację grafiki w AVD, wykonaj te czynności:

  1. Otwórz Menedżera AVD.
  2. Utwórz nowy średni czas oglądania lub Edytuj istniejący średni czas oglądania.
  3. W sekcji Sprawdzanie konfiguracji znajdź sekcję Emulowana wydajność.
  4. Wybierz wartość w opcji Grafika:.
  5. Kliknij Zakończ.

Skonfiguruj akcelerację grafiki z poziomu wiersza poleceń

Aby określić typ przyspieszenia grafiki podczas uruchamiania AVD z poziomu polecenia dodaj opcję -gpu, jak w tym przykładzie:

emulator -avd avd_name -gpu mode [{-option [value]} ... ]

mode można ustawić na jedną z tych wartości opcje:

  • auto: zezwalaj emulatorowi na wybór grafiki sprzętowej lub programowej zgodnie z ustawieniami komputera.
  • host: używaj GPU w komputerze do akceleracji sprzętowej. Ta opcja zwykle cechuje się najwyższą jakością grafiki i wydajnością za pomocą emulatora. Jeśli jednak sterowniki karty graficznej mają problemy z renderowaniem OpenGL, konieczne może być użycie opcji swiftshader_indirect lub angle_indirect.
  • swiftshader_indirect: użyj wariantu języka zgodnej z szybkim rozruchem SwiftShader, do renderowania grafiki za pomocą akceleracji programowej. Ta opcja jest dobrym rozwiązaniem to alternatywę dla trybu host, jeśli komputer nie obsługuje akceleracji sprzętowej.
  • angle_indirect: (tylko Windows) użyj wersji aplikacji zgodnej z szybkim rozruchem ANG Bezpośrednio 3D do renderowania grafiki za pomocą akceleracji programowej. Ta opcja jest dobrym rozwiązaniem to alternatywę dla trybu host, jeśli komputer nie obsługuje akceleracji sprzętowej. W większości przypadków działanie ANGLE jest podobne do działania trybu host bo ANGLE korzysta z Microsoft Direct zamiast OpenGL.

    W systemach Windows, Microsoft Sterowniki bibliotek Direct dają zwykle mniej problemów niż sterowniki OpenGL. Ta opcja korzysta z Direct3D 11 i wymaga systemu Windows 10, Windows 8.1 lub Windows 7 SP1 z aktualizację platformy Windows 7.

  • guest: używaj renderowania oprogramowania po stronie gościa. Ta opcja zapewnia najmniejszą jakość grafiki i wydajność emulatora.

.

Te opcje typu mode zostały wycofane:

  • swiftshader: wycofane w wersji 27.0.2. Użyj formatu: swiftshader_indirect .
  • angle: wycofane w wersji 27.0.2. Zamiast niego użyj pakietu angle_indirect (Windows ).
  • mesa: wycofane w wersji 25.3. Użyj w zamian zasady swiftshader_indirect.

Włącz renderowanie Skia w interfejsie Androida

Jeśli używasz obrazów dla interfejsu API na poziomie 27 lub wyższym, emulator może renderować Interfejs Androida ze sprzętem Skia. Skia pomaga umożliwia płynniejsze i wydajniejsze renderowanie grafiki.

Aby włączyć renderowanie na platformie Skia, użyj tych poleceń w powłoce adb:

su
setprop debug.hwui.renderer skiagl
stop
start

Skonfiguruj przyspieszenie maszyn wirtualnych

Akceleracja maszyny wirtualnej używa procesora komputera, aby znacznie poprawić oraz jak szybko działa emulator. Do zarządzania tymi zadaniami służy narzędzie o nazwie hipernadzorca. za pomocą rozszerzeń wirtualizacji wykorzystywanych przez procesor komputera co zapewnia. W tej sekcji znajdziesz wymagania dotyczące korzystania z akceleracji maszyn wirtualnych opisuje, jak skonfigurować akcelerację maszyny wirtualnej w każdym systemie operacyjnym.

Ogólne wymagania

Aby korzystać z akceleracji maszyny wirtualnej za pomocą emulatora, komputer musi spełniać ogólne wymagania opisane w tej sekcji. Komputer musi też spełniać inne wymagania do wymagań systemu operacyjnego.

Wymagania dotyczące środowiska programistycznego

Aby można było korzystać z akceleracji maszyn wirtualnych, Twoje środowisko programistyczne musi spełniać następujące wymagania:

  • Narzędzia SDK: minimalna wersja 17; zalecana wersja 26.1.1 lub nowsza
  • ŚR. CZAS OGLĄDANIA: Wymagana wersja Androida została opisana w tabeli poniżej.

    Architektura procesora Wymagania dotyczące obrazu systemu
    X86_64 Obrazy systemowe x86 lub x86_64 na Androida 2.3.3 (poziom interfejsu API 10) i nowsze
    ARM64 Obrazy systemu arm64-v8a na Androida 5.0 (poziom interfejsu API 21) lub nowszego

Wymagania dotyczące rozszerzeń wirtualizacji

Oprócz spełnienia wymagań dotyczących środowiska programistycznego komputera procesor musi obsługiwać rozszerzenia wirtualizacji. Obsługiwane procesory to:

  • Procesory Intel z technologią wirtualizacji Intel (VT-x, vmx), na przykład: Procesory Intel Core iX i Intel Core Ultra
  • Procesory AMD z procesorami AMD-V (SVM), np. AMD Ryzen
  • Krzem jabłkowy

Dodatkowe wymagania dotyczące procesorów Intel i AMD:

W przypadku procesora Intel wymagane jest tłumaczenie adresów drugiego poziomu (Intel EPT lub AMD RVI) i procesory AMD. Większość nowoczesnych procesorów Intel i AMD obsługuje drugi poziom tłumaczenia adresu. Tylko procesory Intel lub AMD pierwszej generacji rozszerzenia wirtualizacji mogą nie mieć tłumaczeń stron drugiego poziomu.

Jeśli nie masz pewności, czy Twój procesor obsługuje wymagane rozszerzenia, możesz sprawdzić specyfikacje procesora na stronie producenta. Jeśli procesor nie obsługuje tych rozszerzeń, nie możesz użyć akceleracji maszyny wirtualnej.

Ograniczenia

Przyspieszenie maszyn wirtualnych ma te ograniczenia:

  • Nie możesz uruchomić emulatora z akceleracją maszyny wirtualnej w innej maszynie wirtualnej, np. hostowanej maszynie wirtualnej za pomocą VirtualBox, VMWare lub Dockera. Musisz uruchomić emulator z akceleracją maszyny wirtualnej bezpośrednio na komputerze hosta.
  • W zależności od systemu operacyjnego i hipernadzorcy możesz nie uruchamiać oprogramowania które korzystają z innej technologii wirtualizacji, jednocześnie z Emulator z akceleracją maszyny wirtualnej. Przykłady tego oprogramowania to między innymi: Mają tu zastosowanie wyłącznie maszyny wirtualne, niektóre programy antywirusowe oraz rozwiązaniach zapobiegające oszustwom. Sytuację tę obserwujemy głównie w systemie Windows z funkcją Hyper-V. wyłączone. Większość tego typu oprogramowania może współistnieć z emulatorem Androida bez żadnych . Jeśli jednak wystąpią konflikty, nie zalecamy uruchamiania Emulator przyspieszający działanie maszyny wirtualnej w tym samym czasie z takim oprogramowaniem.

Informacje o hipernadzorcy

Akceleracja maszyny wirtualnej wymaga hipernadzorcy, czyli narzędzia wykorzystującego wirtualizację rozszerzenia udostępniane przez procesor komputera.

Bez hipernadzorcy i akceleracji maszyny wirtualnej emulator musi tłumaczyć kod maszynowy z maszyny wirtualnej blok po bloku w celu dostosowania się do architektury na komputerze. Ten proces może przebiegać dość wolno. W przypadku hipernadzorcy, gdy maszyna wirtualna i architekturę komputera hosta, emulator może uruchamiać kod bezpośrednio na procesorze hosta za pomocą hipernadzorcy. Ta poprawa znacznie zwiększa szybkość i wydajność emulatora.

Wybór najodpowiedniejszego hipernadzorcy zależy od sposobu działania komputera systemu i konfiguracji. Więcej informacji można znaleźć w poniższych artykułach sekcje:

Sprawdzanie, czy zainstalowany jest hipernadzorca

Możesz użyć opcji wiersza poleceń emulatora -accel-check, by sprawdzić, na komputerze jest aktualnie zainstalowany hipernadzorca.

Poniższe przykłady pokazują, jak używać opcji emulatora accel-check. W W każdym przykładzie Sdk to lokalizacja pakietu Android SDK:

Windows:

c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check
accel:
0
AEHD (version 2.2) is installed and usable.
accel
W systemie Windows dostępnych jest wiele funkcji hipernadzorcy. To, co zobaczysz, może musi być inny niż ten w tym przykładzie. Możesz na przykład zobaczyć jedną z opcji słowa kluczowe w wiadomości: GVM(wcześniejsza nazwa AEHD), WHPX.

macOS:

janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check
accel:
0
Hypervisor.Framework OS X Version 13.2
accel

Linux:

janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check
accel:
0
KVM (version 12) is installed and usable.

Skonfiguruj akcelerację maszyn wirtualnych w systemie Windows

Przyspieszenie maszyn wirtualnych w systemie Windows może korzystać z jednego z 2 hipernadzorców:

  • Windows Hypervisor Platform (WHPX)
  • Sterownik hipernadzorcy emulatora Androida (AEHD)

Wybierz hipernadzorcę w systemie Windows

W tej sekcji znajdziesz kryteria pozwalające określić, którego hipernadzorcy należy użyć. Proces konfigurowania przyspieszenia maszyny wirtualnej za pomocą każdego hipernadzorcy opisano w w kolejnych sekcjach.

Kryteria Hipernadzorca
Musisz jednocześnie uruchomić funkcję Hyper-V razem z emulatorem Androida. Użyj WHPX.
Nie musisz uruchamiać funkcji Hyper-V jednocześnie z emulatorem Androida. Użyj sterownika hipernadzorcy emulatora Androida.

Skonfiguruj akcelerację maszyn wirtualnych za pomocą Windows Hypervisor Platform

Aby można było włączyć WHPX, komputer musi spełniać te wymagania:

  • Procesory Intel: obsługa technologii wirtualizacji (VT-x), Extended Page Funkcje tabel (EPT) i nieograniczonego dostępu do gości (UG). Opcja VT-x musi być włączona w ustawienia BIOS komputera.
  • Procesory AMD: zalecany procesor AMD Ryzen. Wirtualizacja lub maszyna wirtualna musi należy włączyć w ustawieniach BIOS komputera.
  • Android Studio 3.2 Beta 1 lub nowsza wersja
  • Emulator Androida w wersji 27.3.8 lub nowszej
  • Windows 10 lub nowszy

Aby zainstalować WHPX w systemie Windows, wykonaj te czynności:

  1. Na pulpicie systemu Windows kliknij prawym przyciskiem myszy ikonę Windows i wybierz Aplikacje i funkcje
  2. W sekcji Powiązane ustawienia kliknij Programy i funkcje.
  3. Kliknij Włącza lub wyłącza funkcje systemu Windows.
  4. Wybierz Windows Hypervisor Platform.

  5. Kliknij OK.

  6. Po zakończeniu instalacji uruchom ponownie komputer.

Skonfiguruj akcelerację maszyn wirtualnych za pomocą sterownika hipernadzorcy emulatora Androida (AEHD) w systemie Windows

Aby zainstalować i używać sterownika hipernadzorcy emulatora Androida, komputer musi spełniać te wymagania:

  • Procesory Intel lub AMD z rozszerzeniem wirtualizacji.
  • 64-bitowy Windows 11 lub Windows 10 (32-bitowy system Windows nie obsługiwane)

    Użytkownicy systemów Windows 8.1, Windows 8 i Windows 7 mogą nadal korzystać z formatu AEHD 1.7. lub niższy. W takich sytuacjach pomoc jest niedostępna.

  • Funkcja Hyper-V musi być wyłączona w oknie Funkcje systemu Windows.

    Niektóre komponenty okna mogą włączyć hipernadzorcę funkcji Hyper-V bez włączenie funkcji Hyper-V w oknie funkcji systemu Windows, na przykład izolacja rdzeni. jest dostępna w ramach programu Windows Defender. W takich przypadkach użyj WHPX. .

Na procesorach AMD sterownik hipernadzorcy emulatora Androida można zainstalować za pomocą Menedżer SDK w Android Studio 4.0 Canary 5 lub nowsze.

Na procesorach Intel sterownik hipernadzorcy emulatora Androida można zainstalować za pomocą Menedżer SDK w Android Studio Flamingo czy później.

Aby zainstalować pakiet z poziomu Menedżera pakietów SDK: wykonaj te czynności:

  1. Wybierz Narzędzia > Menedżer SDK.
  2. Kliknij kartę Narzędzia SDK i wybierz hipernadzorca emulatora Androida. sterownika.
  3. Kliknij OK, aby pobrać i zainstalować sterownik hipernadzorcy emulatora Androida.
  4. Po instalacji sprawdź, czy sterownik działa prawidłowo w tym celu:

    AEHD 2.1 lub nowszy

    sc query aehd
    

    Komunikat o stanie zawiera następujące informacje:

    SERVICE_NAME: aehd
           ...
           STATE              : 4  RUNNING
           ...
    

    Ten komunikat o błędzie oznacza, że albo rozszerzenie wirtualizacji nie jest włączone w BIOS lub funkcja Hyper-V nie jest wyłączona:

    SERVICE_NAME: aehd
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

    AEHD 2.0 lub starszy

    sc query gvm
    

    Komunikat o stanie zawiera następujące informacje:

    SERVICE_NAME: gvm
           ...
           STATE              : 4  RUNNING
           ...
    

    Ten komunikat o błędzie oznacza, że albo rozszerzenie wirtualizacji nie jest włączone w BIOS lub funkcja Hyper-V nie jest wyłączona:

    SERVICE_NAME: gvm
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

Sterownik hipernadzorcy emulatora Androida można też pobrać i zainstalować ze strony GitHub Po rozpakowaniu pakietu sterownika uruchom silent_install.bat z poziomu wiersza poleceń z uprawnieniami administratora.

Odinstaluj sterownik hipernadzorcy emulatora Androida za pomocą następujących poleceń w wiersza poleceń z uprawnieniami administratora:

AEHD 2.1 lub nowszy

   sc stop aehd
   sc delete aehd

AEHD 2.0 lub starszy

   sc stop gvm
   sc delete gvm

Skonfiguruj akcelerację maszyn wirtualnych w systemie macOS

W systemie macOS Emulator Androida używa wbudowanego Hypervisor.Framework, Wymaga systemu macOS 10.10 (Yosemite) lub nowszego. Android Studio może wymagać nowszej wersji systemu macOS. W takich przypadkach postępuj zgodnie z instrukcjami Wymagania systemowe Studio.

Skonfiguruj akcelerację maszyn wirtualnych w systemie Linux

Systemy oparte na Linuksie obsługują akcelerację maszyn wirtualnych za pomocą oprogramowania KVM . Wykonaj instrukcje instalowania KVM w systemie Linux i sprawdź, czy czy klucz KVM jest włączony. W przypadku systemów Ubuntu zapoznaj się z artykułem Instalacja KVM Ubuntu.

Wymagania

Uruchomienie KVM wymaga określonych uprawnień użytkownika. Upewnij się, że masz wystarczających uprawnień zgodnie z instrukcją instalacji KVM.

Aby można było korzystać z akceleracji maszyn wirtualnych w systemie Linux, komputer musi również spełniać te wymagania wymagania:

  • W przypadku procesorów Intel: obsługa technologii wirtualizacji (VT-x), Intel Włączone funkcje EM64T (Intel 64) i Execute Disable (XD)- Bit.
  • Procesory AMD: obsługa wirtualizacji AMD (AMD-V).

Sprawdź, czy w systemie Linux jest obecnie zainstalowana platforma KVM

Możesz użyć emulatora -accel-check wiersza poleceń, aby sprawdzić, czy jest zainstalowany KVM. Ewentualnie możesz zainstalować pakiet cpu-checker zawierający polecenie kvm-ok.

Poniższy przykład pokazuje, jak używać polecenia kvm-ok:

  1. Zainstaluj pakiet cpu-checker:

    sudo apt-get install cpu-checker
    egrep -c '(vmx|svm)' /proc/cpuinfo
    

    Wartość 1 lub większa oznacza, że wirtualizacja jest obsługiwana. Dane wyjściowe funkcji Wartość 0 oznacza, że Twój procesor nie obsługuje wirtualizacji sprzętowej.

  2. Uruchom polecenie kvm-ok:

    sudo kvm-ok
    

    Oczekiwane dane wyjściowe:

    INFO: /dev/kvm exists
    KVM acceleration can be used
    

    Jeśli pojawi się ten błąd, oznacza to, że możesz nadal uruchamiać aplikacje wirtualne. komputerami. Jednak bez rozszerzeń KVM maszyna wirtualna działa wolniej.

    INFO: Your CPU does not support KVM extensions
    KVM acceleration can NOT be used
    

Instalowanie KVM w systemie Linux

Aby zainstalować KVM, użyj tego polecenia:

Cosmic (18.10) lub nowszy:

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Lucid (10.04) lub nowsze:

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Karmic (9.10) lub starszy:

sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils

Przewodnik na temat odinstalowywania Intel HAXM

Od emulatora 33.x.x.x platforma HAXM została wycofana, ponieważ wycofujemy technologię Intel nad rozwojem HAXM. Emulator Androida sterownik hipernadzorcy (AEHD) zastępuje w procesorach Intel HAXM.

Zalecamy całkowite usunięcie procesora Intel HAXM z systemu Windows. chyba że masz zainstalowane inne oprogramowanie, które zależy od HAXM, aby korzystać z funkcji Intel HAXM i samodzielnie nią zarządzać.

Aby odinstalować Intel HAXM, wykonaj te czynności:

Sprawdź, czy zainstalowana jest technologia Intel HAXM

Aby sprawdzić, czy w systemie Windows jest zainstalowana technologia Intel HAXM, otwórz konsoli poleceń systemu Windows i uruchom to polecenie:

   sc query intelhaxm

Jeśli karta Intel HAXM jest zainstalowana i uruchomiona, powinien pojawić się ten komunikat w danych wyjściowych polecenia.

Jeśli karta Intel HAXM jest zainstalowana, ale wyłączona, powinien pojawić się ten komunikat w danych wyjściowych polecenia.

W obu przypadkach, niezależnie od tego, czy procesor Intel HAXM jest uruchomiony czy wyłączony, Zainstalowano. Aby kontynuować odinstalowywanie Intela, musisz przejść do następnego kroku HAXM.

Jeśli nie zainstalowano procesora Intel HAXM, powinien pojawić się ten komunikat.

Odinstaluj Intel HAXM za pomocą Menedżera pakietów SDK w Android Studio

Otwórz Menedżera pakietów SDK w Android Studio i przejdź do sekcji „Narzędzia SDK” Tab, a potem przejdź do pozycji „Intel x86 Emulator Accelerator (HAXM installer) – Unavailable (Wycofane). . Powinien wyglądać podobnie do tego na zrzucie ekranu poniżej.

Usuń zaznaczenie pola wyboru, jak pokazano na poniższym zrzucie ekranu.

Kliknij „Zastosuj” Powinno się pojawić następujące okno.

Po odinstalowaniu procesora Intel HAXM powinny pojawić się poniższe komunikaty. Odinstalowanie zostało zakończone i możesz zakończyć tutaj.

W przypadku błędów przejdź do następnego kroku.

Odinstaluj Intel HAXM za pomocą „ustawień” systemu Windows.

Otwórz „ustawienia” systemu Windows i wybierz „Aplikacje >” Zainstalowane aplikacje”.

Znajdź „Intel Hardware Accelerated Execution Manager”. wpisz i kliknij „Odinstaluj”, jak widać na poniższym zrzucie ekranu.

Dezinstalator Intel HAXM powinien uruchomić się i zgłosić wynik. Jeśli odinstalowywanie zostało zakończone, przejdź do Usuń pakiet instalatora Intel HAXM. W przeciwnym razie przejdź do następnego kroku.

Odinstalowywanie przy użyciu wiersza poleceń

  1. Zatrzymaj usługę Intel HAXM, uruchamiając polecenie „sc stop intelhaxm”. Powinna pojawić się ikona tych danych wyjściowych.

  2. Usuń usługę Intel HAXM, wykonując polecenie „sc delete intelhaxm”. Zobaczysz, że poniżej.

  3. Otwórz Usuń pakiet instalatora Intel HAXM.

Usuń pakiet instalatora Intel HAXM.

Ten krok jest wymagany tylko podczas odinstalowywania Intel HAXM za pomocą „ustawień” systemu Windows lub wiersza poleceń. Jeśli nie wykonasz tego kroku, menedżer pakietów SDK w Android Studio może kontynuuj wyświetlanie Intel HAXM ze stanem „Zainstalowano”.

Pakiet instalatora znajduje się w<folderze Twojego pakietu Android SDK>\extras\intel. Domyślnie pakiet SDK do Androida zostanie zainstalowany w lokalizacji „C:\Użytkownicy\<Twój identyfikator użytkownika Windows” >\AppData\Local\Android\Sdk”. Zobacz przykład na zrzucie ekranu poniżej.