칸드로이드 저널- "Beyond Android" 
안드로이드 에뮬레이터 GPU 지원 내장
작성자
작성일 2012-04-10 (화) 18:32
ㆍ추천: 0  ㆍ조회: 6430      
IP: 125.xxx.222
새롭게 릴리즈된 안드로이드 4.0.3 에뮬레이터가 GPU 지원을 내장하게 되었다는 소식입니다.
 
 
A Faster Emulator with Better Hardware Support

(하드웨어를 보다 잘 지원하는 더 빨라진 에뮬레이터)

 
Posted by Tim Bray on 09 April 2012 at 11:00 AM
[This post is by Xavier Ducrohet and Reto Meier of the Android engineering team. - Tim Bray.]
 
안드로이드 에뮬레이터는 안드로이드 애플리케이션 개발자가 애플리케이션을 만들고 테스트하는 핵심
도구이다. 안드로이드 디바이스의 파워와 다양성이 빠르게 성장해 왔기 때문에, 에뮬레이터가 그 보폭을
맞추는 것은 어려웠다. 오늘 우리는 에뮬레이터에 극적인 성능 업그레이드와 더 넓은 범위의 하드웨어
특색, 특히 센서와 멀티핑거 입력 지원을 포함하는 다양한 중요한 개선사항들을 발표하게 되어 매우 흥분된다.
 
GPU 지원 추가
 
오늘 우리가 배포하는 시스템 이미지는 GPU 지원을 내장했다(Android 4.0.3 r2). 안드로이드에서 성능 개선
때문에 GPU 사용 의존성이 증가하면서, 그 차이들이 중요해 졌다. 아래의 비디오에서 에뮬레이터는 여전히
ARM 명령어를 인터프리팅하고 있다. 성능 개선 영상은 작업을 GPU에게 맡긴 효과이다.
 

 
보너스로, 우리가 이제 OpenGL ES 2.0을 지원하기 때문에, 여러분의 OpenGL 게임은 이제 에뮬레이터 내에서
실행될 수 있다.

많은 GPU이 있다는 것에 주목하기 바란다. 우리는 이번 베타 릴리즈에서 모든 GPU들을 테스트하지는 못했다.
그러므로 여러분들의 피드백이나 부딪힌 이슈들을 알려주길 바란다.

더 많은 하드웨어적 특색에 대한 에뮬레이션

모바일 디바이스의 하드웨어의 특색은 개발에 있어서 그것을 단일 플랫폼으로 만드는 것의 중요한 영역이다.
그러므로 우리는 또한 작년에 추가했던 카메라 지원 뿐만 아니라, 이제는  센서와 멀티터치 입력을 지원하기
위해 테더링되는 안드로이드 디바이스를 사용하는 것이 가능하다는 발표를 하게 되어 기쁘다.

우리는 블루투스와 NFC를 포함하는 더 많은 하드웨어 특색들을 에뮬레이터가 지원하게끔 하는 작업을 하고 있다.

개선된 CPU 성능

우리는 또한 안드로이드 에뮬레이터의 CPU 성능을 개선했다. 하드웨어 부동소수점 연산이 ICS(Android 4.0)
이후부터 시스템 이미지에서 사용할 수 있게되었다. 이것은 CPU 오퍼레이션을 대략적으로 2배 빠르게
에뮬레이션하도록 한다.

x86 시스템 이미지들과 호스트 드라이버들(SDK 매니저를 통해 구할 수 있음)을 포함하고 있는 지난 주의 r17
Developer Tools 릴리즈는 에뮬레이터가 호스트 CPU를 네이티브에서 접근하는 것을 가능하게 해서 현저하게
빠른 실행을 제공하고 있다.

아래의 비디오는 CPU만 사용하는 애플리케이션이 동일한 시스템 이미지에서, 하나는 가상화를 사용하고, 다른
하나는 가상화 없이 실행되는 것을 보여준다.
 


현대적인 에뮬레이터 만들기

안드로이드 플랫폼은 애플리케이션들이 시스템 컴포넌트를 사용해서 서로 깊은 상호작용을 하는 것을 허용하기
때문에, 완전한 시스템 이미지를 가진 에뮬레이터를 제공하는 것이 우리에겐 필요하다. 우리들의 에뮬레이터는
완전한 디바이스, 즉 하드웨어, 커널, 저계층의 시스템 라이브러리들, 그리고 애플리케이션 프레임워크를
가상화한다.

물론, 전통적으로 에뮬레이션되는 시스템은 ARM CPU를 갖는다. 역사적으로 우리는 그러한 명령어(Instruction)
들을 소프트웨어적으로 에뮬레이션 해 왔다. 그리고 안드로이드 3.0에서 출현한 태블릿이 추가적인 애니메이션과
복잡성을 지원하는 전까지는 괜찮았다.

빠진 부분은 안드로이드가 x86 지원을 완성하는 것과 지난 주에 SDK Tools r17 릴리즈에 포함된 GPU 지원이었다.
OpenGL ES 2.0 명령어들을 에뮬레이터에서 호스트 OS로 이동시킴으로써 이 작업은 표준 OpenGL 2.0으로 변화
되었으며, 그리고 호스트 GPU에서 네이티브로 실행되게 되었다.

결론

안드로이드 에코시스템은 많은 상이한 구성 형태를 가진 디바이스를 가지고 있다. 개발자는 직접 모든 것을
그곳에서 해보지 않고 이러한 애플리케이션을 테스트하는 좋은 방법을 필요로 한다. 그리고 빠르고 풍부한
안드로이드 에뮬레이터는 엄청나게 도움이 된다.

우리는 이러한 새로운 개선들이 여러분의 개발과 테스트 작업에 있어 에뮬레이터를 더 유용한 도구로 만들 것으로
희망한다. 그리고 여러분을 위해 에뮬레이터가 더 많이 개선되길 기대한다.
이름아이콘 들풀
2012-04-10 18:35
QEMU, SDL, Direct X, Virtualization 등등이 관련해서 중요한 내용이 되겠네요.~
   
이름아이콘 인베인
2012-04-11 01:41
> 블루투스와 NFC를 포함하는 더 많은 하드웨어 특색들을
> 에뮬레이터가 지원하게끔 하는 작업을 하고 있다.
Really??? 가까운 시일내에 Bluetooth , NFC 의 기능들도
QEMU기반의 에뮬레이터에서 동작이 지원되길 바랍니다. ^^
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.