안드로이드 개발 질문/답변
(글 수 45,052)
단순히 View클래스를 상속받아 그리기 위한 뷰라면...
surfaceViw말고도 다른 뷰도 많지 않을까요??
API읽어보니깐 GUI thread를 거치지 않고 빠르게 사용자와 인터렉션하면서
그림을 주려주기 위해서라고 써 있던데..
단순히....(단순한 문제가 아닌것 같지만)
게임과 같이 사용자의 요구가 빠르게 화면에 갱신되는 이점때문에 사용하는건가요??
그리고 SurfaceView를 사용할 경우 다른 뷰를 사용할때에 비해서 얼마나 빠른가요??
관련글이나 도움말씀 좀 부탁드리겠습니다.
surfaceViw말고도 다른 뷰도 많지 않을까요??
API읽어보니깐 GUI thread를 거치지 않고 빠르게 사용자와 인터렉션하면서
그림을 주려주기 위해서라고 써 있던데..
단순히....(단순한 문제가 아닌것 같지만)
게임과 같이 사용자의 요구가 빠르게 화면에 갱신되는 이점때문에 사용하는건가요??
그리고 SurfaceView를 사용할 경우 다른 뷰를 사용할때에 비해서 얼마나 빠른가요??
관련글이나 도움말씀 좀 부탁드리겠습니다.
2009.06.25 18:12:03
저도 Surface 관련하여 질문 드리려 했는데 비슷한 글이 이곳을 통해
회색님께 추가로 물어보겠습니다.SurfaceView 과 GLSurfaceView 의 차이점이 궁금하네요.
간단한 설명과 참조할 사이트 있으면 부탁드립니다.
구글 개발자 사이트는 봐도 이해가 잘 되지 않아서요.
2009.06.25 19:40:24
윈도우에서도 보면 게임을 할때는 Direct X라는 것을 쓰는 것처럼, 일반 Window의 UI위에서 돌아가지 않고 직접적으로 비디오로 내보내는 방식이 필요합니다. 안드로이드에서도 마찬가지구요. 가장 큰 이유는 성능이 맞습니다. 그런데 그걸 단순 비교 수치화할수는 없습니다. 사용되는 성격이 틀리니까요. 다른V iew에서 하는 일을 단순히 성능 향상을 위해서 Surface에서 할수는 없습니다. Surface가 쓰이는 곳은 크게 카메라, 비디오, 3D, OpenGL 정도가 있다고 생각하시면 됩니다. 그리고 그 Surface를 일반적인 윈도우 구성요소인 View에서 사용할수 있게 만들어주는 것이 SurfaceView입니다.
SurfaceView는 위에서 말씀드린대로 카메라, 비디오등 여러군데서 사용되는 클래스라면 GLSurfaceView는 OpenGL쪽에서 쉽게 사용할수 있도록 몇가지 메소드를 추가한 SurfaceView의 서브클래스입니다.
SurfaceView는 위에서 말씀드린대로 카메라, 비디오등 여러군데서 사용되는 클래스라면 GLSurfaceView는 OpenGL쪽에서 쉽게 사용할수 있도록 몇가지 메소드를 추가한 SurfaceView의 서브클래스입니다.
2009.06.26 10:02:03
회색님 답변 감사드립니다// 추가로 하나만 더 질문을 하고 싶은데요
VideoView가 SurfaceView를 상속받은 클래스라는 것은 알고 있는데요...
카메라, 비디오, 3D. OpenGL에서 꼭 Suface를 써야 하는 이유는 뭔가요?
쓰레드를 사용하여 ImageView에 계속 뿌려주면 surface를 사용할때와 결과가 다를까요??
VideoView가 SurfaceView를 상속받은 클래스라는 것은 알고 있는데요...
카메라, 비디오, 3D. OpenGL에서 꼭 Suface를 써야 하는 이유는 뭔가요?
쓰레드를 사용하여 ImageView에 계속 뿌려주면 surface를 사용할때와 결과가 다를까요??