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);
///
이런 형식으로 뿌려주고있습니다 ..
여러 작업하시면서 저와 같은 고민은 한번쯤은 해보셨을거같습니다 ㅜㅜ