2011-02-06 3 views
1

Android 앱에서 기본 2D 그래픽을 위해 Canvas를 사용하고 있습니다. 드래그 앤 드롭 기능 (터치 이벤트의 x/y 좌표를 기반으로하는 스프라이트의 x/y 좌표 설정)을 구현하고 있습니다. 그것은 잘 작동하지만 안드로이드 장치에서 테스트 할 때 화면에서 손가락을 매우 빠르게 움직이면 약간의 지연이 발생할 수 있습니다. 비트 맵은 터치/드래그 모션을 빠르게 완료하지 못하고 있습니다.OpenGL ES 대 Canvas for Android에서 "끌어서 놓기"속도가 빨라 집니까?

OpenGL ES로 옮길 경우 개선 될 수 있습니까? 내 코드를 추출하지 않으려 고하지 않습니다.

답변

3

기본적으로 드래그를 구현하는 방식에 따라 달라집니다 & 드롭. SurfaceView는 빠르며 2D를 표시하기 위해 OpenGL ES로 전환 할 필요가 없습니다 ...

지연의 원인을 찾아보십시오. 지연이 터치로 인해 발생하는 경우 이벤트가 "지연되지 않도록"충분히 자주 실행되지 않아 OpenGL도 도움이되지 않습니다. ...

+0

터치 이벤트는 일반적으로 너무 자주 발생하여 프레임 속도를 떨어 뜨릴 수 있습니다. 이것은 내가 믿는 2.3까지 버그 였기 때문에 일부 터치 이벤트는 무시해야합니다. – smith324

+0

@ smith324 그것에 관심이 있습니다. 제발,이 버그에 관한 링크를 게시 할 수 있습니까? – kaneda

+2

@kaneda 일반 토론 = http://groups.google.com/group/android-developers/browse_thread/thread/39eea4d7f6e6dfca 버그 신고 (의견 55 참조) http://code.google.com/p/android/issues/ detail? id = 7836 – smith324

0

OpenGL은 소프트웨어 가속이있는 (예 : 하드웨어 가속이없는) 휴대 전화에서는 속도가 느립니다. 그래서 ... :)