Android 그래픽 시스템의 발전 과정.


허니컴 이전에는 Surface Flinger 에서만 GPU 사용


허니컴이 Tablet 용 Framework 이다보니 늘어난 pixel 에 대응하기 위해서 GPU 사용이 필요하게 됨.

onDraw() 이후에 실제 그리는 부분을 CPU 에서 하는 것이 아니라 이제는 GPU 에서 하게 됨.


[android] TextureView 에 대한 이야기


기존 View 는 한 View 가 invalidate 가 되면, dirty check를 한 후, parent 로 올라가면서 invalidate 를 쭉 호출하게 되고, 다시 dirty check 된 녀석까지 draw 를 수행하여 그리게 된다.


[android] TextureView 에 대한 이야기


* 기존 View 의 문제

1. UI 스레드에서만 그릴 수 있다.

2. View 의 계층 구조를 타야 한다.

3. 실시간으로 그리기 어렵다.





* 대안으로 등장한 녀석이 SurfaceView

SurfaceView 의 경우 확대, 축소, 비트맵 캡쳐가 안된다.


* 또 다시 대안으로 등장한 녀석이 GLSurfaceView

GLSurfaceView 는 빨리 전환하게 되면 죽는다.


* 또 다른 대안은 RenderScript

RenderScript 는 젤리빈부터 deprecated 되었다.




TextureView 의 등장


SurfaceTexture, TextureView, SurfaceTextureListener 가 한 팀( Set )으로 작동.

이 중 SurfaceTexture 는 framework 가 관리한다.

TextureView 는 일반 View 처럼 사용한다.

Listener 만 잘 override 해서 구현하면 사용이 간편하다.


TextureView 는 Camera 나 OpenGL 에 주로 사용한다.



출처: http://aroundck.tistory.com/2075 [돼지왕 왕돼지 놀이터]

블로그 이미지

kuku_dass

,