Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

Windows - WHPX(Windows Hypervisor Platform)를 이용한 Android Emulator 가속

MAUI 프로젝트를 Emulator 설정으로 Visual Studio 환경에서 (F5 디버깅처럼) 실행하면 잘 모르고 지나갈 수도 있는데요, 대신 "Tools" / "Android" / "Android Device Manager..." 메뉴를 통해 에뮬레이터를 직접 시작하는 경우 다음과 같은 경고창이 뜰 수도 있습니다.

This emulator does not have hardware acceleration enabled, and its performance will be impacted.
We recommend to either:

- Turn on "Hyper-V" feature to switch to the Native Hypervisor and accelerate your emulator.

- Configure hardware acceleration following the instructions to Enable Hardware Acceleration

- Try using a physical Android device for development.

- You can try and start the emulator anyway running unaccelerated, however this is NOT recommended.

문서를 봤더니,

How to enable hardware acceleration with Android emulators (Hyper-V & AEHD)
; https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/hardware-acceleration

그동안 많은 변화가 있었군요. ^^; 우선 선택의 폭이 넓어져서 2가지 방법 중 하나를 선택하면 됩니다.

  1. The Windows Hypervisor Platform (WHPX). Hyper-V is a virtualization feature of Windows that makes it possible to run virtualized computer systems on a physical host computer.
  2. The Android Emulator hypervisor driver (AEHD).

과거에 유명했던 Intel HAXM은 33.x 이후의 에뮬레이터부터 권장하지 않고, 결국 위의 2번째 옵션에 해당하는 AEHD로 바뀌었다고 합니다. 일단은, AEHD가 범용성이 좋은 듯한데 그래도 윈도우 환경에서는 WHPX를 추천한다고 합니다.




해당 문서에 따르면, Windows 10 RS5 업데이트 이후부터는 Hyper-V를 설치한 경우 내부적으로 WHPX를 자동으로 활성화시키므로 굳이 "Windows Hypervisor Platform"을 켤 필요는 없다고 합니다.

whpx_enable_1.png

하지만 제 경우에 Hyper-V를 설치한 머신인데도 "This emulator does not have hardware acceleration enabled, and its performance will be impacted." 메시지가 뜬 건데요, 어쨌든 명시적으로 저 옵션을 켜고 재부팅한 이후부터는 더 이상 경고 메시지가 뜨지 않습니다. (아마도 WHPX가 나오기 이전부터 설치한 Hyper-V인 경우에는 자동 적용이 안 되는 듯합니다.)

참고로, AEHD는 Hyper-V를 지원하지 못하는 시스템에서도 사용할 수 있다고 하며, 심지어 Hyper-V를 지원한다고 해도 꺼야만 설치가 됩니다. 아마도 개발자라면 Hyper-V를 대부분 설치했을 것이므로 딱히 중요한 사항은 아니기에 자세한 사항은 문서를 참조하시면 되겠습니다.

암튼, 안드로이드 개발 환경만큼은 이젠 물리 기기가 없어도 될 정도로 쾌적해진 것 같습니다. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 5/17/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 46  47  48  [49]  50  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12752정성태8/4/202115996개발 환경 구성: 592. JetBrains의 IDE(예를 들어, PyCharm)에서 Visual Studio 키보드 매핑 적용
12751정성태8/4/202118344개발 환경 구성: 591. Windows 10 WSL2 환경에서 docker-compose 빌드하는 방법
12750정성태8/3/202115832디버깅 기술: 181. windbg - 콜 스택의 "Call Site" 오프셋 값이 가리키는 위치
12749정성태8/2/202115301개발 환경 구성: 590. Visual Studio 2017부터 단위 테스트에 DataRow 특성 지원
12748정성태8/2/202116268개발 환경 구성: 589. Azure Active Directory - tenant의 관리자(admin) 계정 로그인 방법
12747정성태8/1/202116511오류 유형: 748. 오류 기록 - MICROSOFT GRAPH – HOW TO IMPLEMENT IAUTHENTICATIONPROVIDER파일 다운로드1
12746정성태7/31/202125398개발 환경 구성: 588. 네트워크 장비 환경을 시뮬레이션하는 Packet Tracer 프로그램 소개
12745정성태7/31/202117015개발 환경 구성: 587. Azure Active Directory - tenant의 관리자 계정 로그인 방법
12744정성태7/30/202116881개발 환경 구성: 586. Azure Active Directory에 연결된 App 목록을 확인하는 방법?
12743정성태7/30/202118501.NET Framework: 1083. Azure Active Directory - 외부 Token Cache 저장소를 사용하는 방법파일 다운로드1
12742정성태7/30/202116038개발 환경 구성: 585. Azure AD 인증을 위한 사용자 인증 유형
12741정성태7/29/202117796.NET Framework: 1082. Azure Active Directory - Microsoft Graph API 호출 방법파일 다운로드1
12740정성태7/29/202116450오류 유형: 747. SharePoint - InvalidOperationException 0x80131509
12739정성태7/28/202116717오류 유형: 746. Azure Active Directory - IDW10106: The 'ClientId' option must be provided.
12738정성태7/28/202117963오류 유형: 745. Azure Active Directory - Client credential flows must have a scope value with /.default suffixed to the resource identifier (application ID URI).
12737정성태7/28/202117071오류 유형: 744. Azure Active Directory - The resource principal named api://...[client_id]... was not found in the tenant
12736정성태7/28/202117379오류 유형: 743. Active Azure Directory에서 "API permissions"의 권한 설정이 "Not granted for ..."로 나오는 문제
12735정성태7/27/202116149.NET Framework: 1081. C# - Azure AD 인증을 지원하는 데스크톱 애플리케이션 예제(Windows Forms) [2]파일 다운로드1
12734정성태7/26/202133051스크립트: 20. 특정 단어로 시작하거나/끝나는 문자열을 포함/제외하는 정규 표현식 - Look-around
12733정성태7/23/202122473.NET Framework: 1081. Self-Contained/SingleFile 유형의 .NET Core/5+ 실행 파일을 임베딩한다면? [1]파일 다운로드2
12732정성태7/23/202114789오류 유형: 742. SharePoint - The super user account utilized by the cache is not configured.
12731정성태7/23/202116786개발 환경 구성: 584. Add Internal URLs 화면에서 "Save" 버튼이 비활성화 된 경우
12730정성태7/23/202118780개발 환경 구성: 583. Visual Studio Code - Go 코드에서 입력을 받는 경우
12729정성태7/22/202116631.NET Framework: 1080. xUnit 단위 테스트에 메서드/클래스 수준의 문맥 제공 - Fixture
12728정성태7/22/202117381.NET Framework: 1079. MSTestv2 단위 테스트에 메서드/클래스/어셈블리 수준의 문맥 제공
12727정성태7/21/202118402.NET Framework: 1078. C# 단위 테스트 - MSTestv2/NUnit의 Assert.Inconclusive 사용법(?) [1]
... 46  47  48  [49]  50  51  52  53  54  55  56  57  58  59  60  ...