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

게임을 만들고 있는데, 만약 비트맵이 30개 정도만 되도 렉이 걸린다면, 그건 어떤 문제일까요?

0 추천
SurfaceView로 만든 게임이든

TextureView로 만든 게임이든

일단 엔진 없이 만든 게임이라 가정하고,

 

화면에 뿌려지는 이미지는 비트맵 연산으로 하잖아요?

근데 비트맵이 한 30개 정도만 되어도 느려집니다.

이게 정상인지 궁금합니다.

 

원래 이런건지, 기기가 안좋은 건지, 코드를 잘못 짠건지.

 

처음엔 SurfaceView가 원래 이정도 연산으로도 속도가 쉽게 느려지는구나 해서

코드 문제라고는 생각 안하고 엔진으로 만들어야 하는구나 라고 생각했습니다.

 

그래서 엔진에 대해 이것저것 알아보고 있던 중,

다른 사람들이 엔진 없이 만든 게임을 우연히 몇 개 보게되었는데,

그 게임들은 비트맵이 수십개가 쏟아져도 프레임이 떨어지지 않더군요.

기기가 엄청 좋아서 그런건지 아니면 다른 방법이 있는 건지...

 

비트맵 수십개 뿌리는 게임을 만드는 강좌도 쉽게 찾아볼 수 있었구요.

그런 강좌들이 성능 저하 문제를 아예 고려하지 않은 것이었다면 몰라도

만약 그런 게 아니라면 원인은 코드의 문제라는 것 밖에 없다고 생각하는데...

 

의견을 듣고 싶습니다.

.
abchs8wyw (1,710 포인트) 님이 2018년 11월 18일 질문

1개의 답변

+1 추천
 
채택된 답변
FPS를 떨어트리는 유형을 보면...

1. UI thread 방해

2. 과도한 메모리 생성/해제 (기존 메모리 재사용하지 않음)

3. drawing중 resource loading.

4. 불필요한 반복 연산

정도가 되겠네요.
디자이너정 (42,810 포인트) 님이 2018년 11월 19일 답변
abchs8wyw님이 2020년 12월 23일 채택됨
...