마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SurfaceView(서피스뷰) 에 이미지를 Draw 하려는데 속도개선방안..

0 추천
SurfaceView 사용해서 간단한 게임을 만듦에있고 배경이미지나 버튼등 여러가지 이미지를 draw()해주고있습니다.

그런데 이미지를 추가하면할수록 프레임속도가  떨어지는게 느껴지더군요

이미지를 draw 하면서 프레임을 줄이기위해서 할수있는방법이있을까요?

(FPS구하는법을 몰라서 저는 run루프할때마다 currentTime으로 현재시간에 전시간을 빼주어서 초를구해서 측정하고있습니다)

배경화면에 게임이미지 몇장만 그려줘도 확연히 느려지는게 보이는데 (원래 아무것도없는화면에 한번루프가 0.02초가 나온다면 이미지 몇장만 추가해도 0.07 정도로 확느려집니다.)

제가 드로우하는부분에 문제가있는것도같고..

제가  draw 방법은

init부분에서

///

imgRaw = BitmapFactory.decodeStream(am.open(imageName),null, option);    //assets 에서 이미지가져오기

Canvas canvas = new Canvas();     // 이미지 변형을위한 캔버스 작업
canvas.setBitmap(imgBack);
canvas.drawBitmap(imgRaw, 0, 0, grayPnt);

///

run(draw)부분

///

canvas.drawBitmap(imgBack, 0, 0, null);

///

 이런 형식으로 뿌려주고있습니다 ..

 

여러 작업하시면서 저와 같은 고민은 한번쯤은 해보셨을거같습니다 ㅜㅜ
레드오션 (1,310 포인트) 님이 2013년 3월 27일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...