3년 전인가 2년 전인가 만든 2D 비행 슈팅 게임인데요 <div>요즘폰에서 안돌아간다고 고쳐달라고 댓글이 자꾸 달려서</div> <div>업데이트를 한번 해볼려고 다시 보고있는데</div> <div>몇 달째 해결방법을 못찾고있습니다..<br><div><br></div> <div>갤2 (800x480)에서는 프레임레이트60까지 나오면서 잘 돌아가는데</div> <div>갤4 (1920x1080) 하고 G3캣식스(2400?x1440<font color="#252525" size="2"><span style="line-height:20.7999992370605px;background-color:#f9f9f9;">)에서는</span></font></div> <div><font color="#252525" size="2"><span style="line-height:20.7999992370605px;background-color:#f9f9f9;">게임 킨 후에 뜨는 메인화면까지는 나오는데</span></font></div> <div><font color="#252525" size="2"><span style="line-height:20.7999992370605px;background-color:#f9f9f9;">게임 플레이 화면에 들어가면 OutOfMemory Exception 뜨면서 강제 종료되버려서</span></font></div> <div><font color="#252525" size="2"><span style="line-height:20.7999992370605px;background-color:#f9f9f9;">그림들 불러올때 720p 이상일경우 width x 720(비율 유지)으로 불러오게 했더니 강제종료는 안되는데</span></font></div> <div><font color="#252525" size="2"><span style="line-height:20.7999992370605px;background-color:#f9f9f9;">게임 플레이 화면에서의 프레임레이트가 8~15정도 까지 떨어집니다(도저히 플레이 불가능한 수준으로 느려짐)</span></font></div> <div><font color="#252525" size="2"><span style="line-height:20.7999992370605px;background-color:#f9f9f9;"><br></span></font></div> <div>원래 android.graphics.Canvas에 android.graphics.Bitmap 이미지들을</div></div> <div>현재 기기의 해상도 사이즈에 맞게 비트맵을 풀스크린으로 리사이징해서</div> <div>canvas.drawBitmap(image, x, y, null)을 이용해서 그렸던거를</div> <div>고해상도 폰에 맞게 리사이징해버려서 메모리부족예외로 강제종료 되는 것으로 판단하여</div> <div>비트맵은 세로 720pixel이상 키우지 않게 놔두고 </div> <div>canvas.scale(scaleRateWidth, scaleRateHeight, 0, 0)를 사용해서</div> <div>캔버스 크기를 바꿔서 그렸더니 익셉션이 사라지고 <span style="font-size:9pt;line-height:1.5;">강제종료도 안되지만 느리게 실행이 됩니다..</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div>canvas.scale부분 한 줄을 지우고 실행해보면</div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201410/1413465204LYeEZumLHg6QEqM2jvbKc5.png" width="449" height="260" alt="f4422q.png" style="border:none;"></div>위 그림처럼 그려지고 이 상태에서는 빠르게 잘 실행됩니다. 그림크기가 작음..(플레이 화면 크기가 작음)</div> <div><br></div> <div><br></div> <div><b>세 줄 요약</b></div> <div>1. 해상도가 제각각인 안드로이드 기기들에 맞게 <span style="font-size:9pt;line-height:1.5;">그림 크기를 </span><span style="font-size:9pt;line-height:1.5;">리사이징하도록 구현함</span></div> <div>2. 매우 높은 해상도의 스마트폰들이 나오면서 그림 크기가 너무 커져 아웃오브 메모리 익셉션 발생</div> <div>3. 그림크기는 놔두고 캔버스를 키웠더니 에러는 안나지만 느려짐</div> <div><br></div> <div>어떤 부분에서 수정을 해야할까요?</div> <div>왜 느려지는건지;; 모르겠고..</div> <div>원인을 모르니 질문을 어떻게 드려야할지도 모르겠어서 이 글도 한 시간 넘게 썼다가 고쳤다가..</div> <div><br></div>
<img src="http://thimg.todayhumor.co.kr/upfile/201405/1399377058ri9xsPeSYMlbXjNJGCne.gif" alt="1399377058ri9xsPeSYMlbXjNJGCne.gif"><br><br><img_ src="http://thimg.todayhumor.co.kr/upfile/201407/14054929373MNg19bHZKP.gif" alt="14054929373MNg19bHZKP.gif"><br><br><img_ src="http://thimg.todayhumor.co.kr/upfile/201407/1405492930zv7bFHGmWrNOZ.jpg" alt="1405492930zv7bFHGmWrNOZ.jpg"><br><br><img_ src="http://thimg.todayhumor.co.kr/upfile/201407/1405492967y5lD2WyHKmXFC8KoOSSjgwkEL74m.jpg" alt="1405492967y5lD2WyHKmXFC8KoOSSjgwkEL74m.j"><br><br><img_ src="http://i.imgur.com/8PyZ3Lz.gif" alt="8PyZ3Lz.gif"><br><br>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.