본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Android/안드로이드] Manifest Activity 테그 속성 hardwareAccelerated. (하드웨어 가속)

by 돼지왕 왕돼지 2012. 2. 1.
반응형

안녕하세요 돼지왕왕돼지입니다.
이번에 살펴볼 속성은 Activity 태그의 속성으로서 hardwareAccelerated  = "true" | "false" 입니다.
이 녀석은 Android 3.0 부터 새로 등장한 attribute 입니다.   오호! 


자 냉큼 Developer 내용부터 살펴볼까요?

- 해당 activity 에 hardware-accelerated OpenGL rendering 을 적용할 것인지 확인
 
- default 값은 "false"
 
- true 로 설정되면, Canvas, Paint, Xfermode, ColorFilter, Shader, Camera 의 대부분 function 이 accelerate 된다.
 
- Hardware-accelerated 가 되면, 더 부드러운 애니메이션, 스크롤링, 그리고 전체적으로 반응성을 높일 수 있다.
 ( framework 의 openGL library 를 사용하지 않더라도 자동으로 )
 
- 주의할 점은 모든 OpenGL 2D operation 이 accelerate 되는 것은 아니기 때문에 renderer 가 제대로 작동하는지 확인요!


자 대충 무엇인지 감을 잡을 수 있겠죠?





자 그럼 더 나은 이해를 위해서 hardware accelerate 가 뭔지 알아볼까요? ( 위키피디아 참조 )

- 일반적인 CPU 에서 수행되는 function 중 일부를 전문화된 다른 hardware 에게 전달해 성능을 높이는 방법
 
- 전문화된 hardware 는 해당 function을 수행하는 전문화된 code 를 가지고 있습니다.
 
- 이렇게 다른 hardware 에 CPU 가 할 일을 분담시키면 concurrency 가 향상되기 때문에 속도가 훨씬 빨라지죠.
 게다가 분담 받은 hardware 는 그 일에 최적화되어 있는 녀석이니 더 빠르게 처리할 수 있겠죠.
 
- 이 accelerate 해주는 hardware 를 hardware accelerator 라고 부르며, 일반적인 hardware accelerator들은
 graphics accelerate floating-point accelerator 가 있습죠. 이런놈들은 우리가 흔히 볼 수 있는 
video card나 graphics card 에 들어 있습니다.

한 마디로 정리하면, floating point 를 요하는 graphic 작업을 그래픽 카드 ( hardware ) 한테 처리하도록 일을 던져주고,
결과값만 받는 형태로, 속도를 향상시킨다는 얘기입니다. 별거 아닌 것 같지만 그 성능이 엄청나다고 하네요.


요즘 Tablet 과 Mobile Phone 을 통합한 ICS ( Ice Cream Sandwich ) 가 나왔죠?
요녀석에서도 물론 hardware accelerate 를 지원합니다.
유용하게 사용하시길~


 
로그인 없이도 추천 가능합니다. 손가락을 꾸욱~ 눌러주세요
 


반응형

댓글