블루스택의 메인 화면 |
1. 개요
스마트폰의 앱을 PC에서 실행할 수 있도록 해 주는 프로그램이다. 보통은 모바일 게임을 PC에서 즐기는 데 이용된다. 그래서 대체로 앱플레이어는 화면에 대해 키 맵핑, 다중 실행, 스크린샷 화면녹화 등의 게이머들이 원하는 기능을 가지고 있는 편이다.2. 상세
기술적으로는 가상머신의 일종으로, 다른 가상머신들과는 달리 개발 등의 전문적인 용도보다는 일반 사용자의 편의에 중점을 둔 것이 특징이다. 보통 가상머신에서 안드로이드 운영체제를 실행하고 그 위에서 구글 플레이를 통해 각종 애플리케이션을 받아서 이용하게 된다. VirtualBox 기반 에뮬레이션이 많은데,안드로이드는 기본적으로 ARM 프로세서에서 작동하는 운영체제로 발전했으므로 ARM와 명령셋이 완전히 다른 AMD64(x86-64) 아키텍처 CPU에서는 호환성 문제가 있다. 정작 안드로이드 자체는 x86 버전도 있으므로 그걸로 설치하면 구동할 수 있지만, 앱 호환성 문제가 있다. 안드로이드 앱 개발에는 JVM 위에서 동작하는 Java나 Kotlin을 사용하지만, 성능상의 이유로 네이티브 함수를 만들어서 사용하는 앱도 있고 특히 게임은 어느 플랫폼에서나 성능 요구가 높은 편이다. 게임 자체에서 x86 라이브러리도 같이 컴파일하거나[1], 원신처럼 아예 윈도우판이 있으면 상관 없지만, ARM 네이티브 함수에 의존하는 게임을 x86 시스템에서 구동하려면 ARM 가상화 기능을 사용하여 앱 호환성을 맞춰줘야 한다. 때문에 최적의 설정을 위해서는 x86 VT 기술이 사실상 필수이며, 가상화 특성상 최적 설정에서도 성능이 일부 상실될 수 있지만, x86-64와 ARM의 성능 차이가 큰 편이고, 앱플레이어를 염두에 둔 게임 대부분은 컴파일러 자동 최적화 수준이라도 x86 라이브러리를 포함하므로[2] 크게 체감할 정도는 아니다.
컴퓨터에서 안드로이드 운영체제를 실행하는 것인 만큼 스마트폰에만 있는 기능(카메라, 마이크, 전화, SIM 등)은 아예 빼버리거나 더미로만 남겨두는 경우가 많다. 따라서 해당 기능을 필수적으로 사용해야 하는 금융앱, 휴대폰 본인인증 앱 등은 사용할 수 없다. 아예 빼버린 경우에는 게임도 걸리는 수가 있다(이런 경우 구글 플레이 설치 화면에서부터 호환이 안 된다고 입구컷 해버린다).
가상머신 등을 감지해서 실행을 막아둔 경우는 거의 모든 앱플레이어에서 실행 거부를 때린다. 주로 금융앱이 이렇지만 게임도 이런 사례가 있다.
어떠한 플랫폼과 시스템에서 사용자가 원하는 게임을 100% 완벽하게 지원하지 않을 수 있으므로 호환성이나 최적화, 실행 등의 문제가 있으면 다른 앱플레이어로 갈아타는 것이 타당하다. 극소수 플레이어가 하는 게임이나, 타 앱플레이어의 점유율이 압도적으로 높은 게임에 대한 최적화와 개선을 바라는 것은 수익구조상 불가능에 가깝다.
대체로 VRAM 관리가 좋지 않아, 몇 시간씩 오래 켜두면 VRAM 누수로 호스트 컴퓨터 전체가 느려질 수 있기 때문에 종료 후 재실행할 필요가 있다[3]. 물론 해상도 등의 설정을 낮추면 VRAM 요구량을 줄일 수 있고, 필요한 것보다 VRAM 용량이 엄청 많은 그래픽카드를 쓰면 느려지기 전까지 걸리는 시간을 늘릴 순 있다. 또한 일부 앱플레이어는 매크로 실행 시 일정 시간 이후 인스턴스를 종료하거나, 재실행하는 기능이 있어 이 문제를 보완할 수 있다. 그 중에서도 뮤뮤 앱플레이어는 안드로이드 11~12 기준 비슷한 설정에서 VRAM 사용량이 다른 유명 앱플레이어보다 적은 편이다.
기본 웹브라우저의 버전에 따라 국내 인터넷 환경 특유의 호환성 문제를 겪을 수 있다. 다만 구글 플레이에서 Chrome이나 삼성 인터넷을 설치해서 쓰면 해결되는 문제가 대부분이다.
특이하게 지포스에서만 화면이 깜빡거리는 등의 호환 문제가 생기는 경우도 있는데, 대부분 지포스의 3D 설정에서 '스레드 최적화'를 끄면 해결된다(전역에서 끄면 멀쩡한 PC 게임 성능이 떨어질 수 있으니, 프로그램 설정에서 해당 앱플레이어 관련 파일만 추가해서 끄는 게 좋다.).
광고 + 스파이웨어가 덕지덕지 붙은 경우가 많다. 특히 중국산(...). 다만 과거에 몇몇 중국산 앱플레이어들이 홍역을 겪었던 채굴앱 설치 문제는
대부분 런처 교체[5] + hosts 편집으로 대처할 수 있다. 자체적으로 광고 옵션이 있어 그걸 끄면 끝인 경우도 있다(주로 블루스택같이 비중국산이 이렇고, 중국산은 비교적 나은 축이라도 자체 설정만으로는 다 끌수 없는 광고 한둘은 있는 편이다).
3. 앱플레이어 목록
4. 관련 문서
[1]
여담으로 예전
소녀전선이 업데이트 할 때마다 랜덤으로 이걸 넣었다 뺏다해서 버전 업 할 때마다 지하와 지옥을 왔다갔다하는(...) x86 실행 성능에 곤란을 겪은 때가 많았다.
[2]
이래도 가상화가 필수인 건
윈도우나 맥OS 위에서 스마트폰의 OS를 기동하는 것과 비슷여 복수의 OS를 가동하는 것과 같은 상태가 되기 때문. ㄹㅇ 안드로이드 x86으로 부팅해서 x86 라이브러리 지원 앱을 실행할 때만
VT 기술이 아예 필요 없어진다.
[3]
메인메모리도 누수되지만 자체 트림 기능으로도 회수할 수 있는 경우가 많고, 윈도우 메모리
최적화 프로그램도 먹히지만 오히려 VRAM 누수는 앱플레이어를 완전히 종료하는 것밖에 답이 없다.
[4]
이미 2016~17년 지원 중단된
Android Kitkat,
Android Lollipop을 이런저런 이유로 2018년,19년에도 계속 쓰다가 숭숭뚫린 안드로이드 보안을 털려서(...) 생긴 일이다. 당시에도 안드로이드 6,7을 쓰던 버전은 문제 없었고, 안드로이드 7 이상은 이후로도 채굴앱이 깔린 사례는 없다.
[5]
기본 런처를 꼭 지울 필요도 없고,
구글 플레이에 다운로드 수 + 평점이 모두 높은 앱 중에서 적당히 하나 깔아서 기본 앱으로 지정해주면 된다.
[6]
전신은 텐센트의
GameLoop이며
원스토어와
텐센트가 협업하여 제작한 앱플레이어.
[7]
대만의 컴퓨터 제조 업체
msi와
블루스택과의 파트너쉽을 맺고 제작한 앱플레이어.
[8]
더 게임 어워드 2021에서 공개된
구글의 앱플레이어. 베타중이라서 일부 게임만 가능