질문과 답변

Extra Form

1.이미 MV에서 찍은 맵칩을 그대로 무손실 이미지로 출력하는법이 있나요?


2.중요한건데, 예전 아방스에서 파라셀러 맵핑이 렉을 줄여주고 최적화에 도움이 된다는 요지의 글을 읽었습니다. 특히, 커다란 맵에서요.


하지만 얀플라이는 파라셀라 맵핑은 큰 맵일수록 맵칩 방식보다 렉이 더 심해진다고 했습니다.


무엇이 맞는 말이죠? 모바일에서 게임 최적화는 아주 중요하다고 생각합니다.

 

 3.Grid-Free Doodads는 용량 말고 최적화 측면에서 얼마나 부담이 될까요?

 

 

 

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.

Comment '9'
  • profile
    구륨 2016.09.27 13:27
    2번은 이벤트 오브젝트때문에 생기는 관점의 문제가 아닐까요? 툴 안에서의 맵핑은 한계가 많기 때문에 이벤트까지 동원해서 맵을 꾸며야 하고, 넓을 수록 필요한 이벤트 수도 늘어납니다. 하지만 통짜로 맵을 그려 넣을 경우엔 데코 용도의 이벤트 오브젝트가 거의 필요 없거든요.

    단순히 넓은 맵을 찍기만 한다면 툴 맵핑이 더 가볍겠지만 현실적으로는 이벤트 때문에 더 무거워 질것 같다는 생각이 듭니다.
  • profile
    러닝은빛 2016.09.27 18:18

    1. Orange Mapshot을 쓰면 1:1로 출력이 가능합니다.
    2. 용량과 그림 크기가 커지면 메모리가 그만큼 증가하므로 렉이 걸릴 수 있는 것이 맞습니다. 다만 캔버스 타일맵 성능이 좋지 않아서 실제로 테스트 해보면, 타일맵은 스크롤 성능이 좋지 않아서 움직일 때 마다 렉이 걸리는 듯한 느낌이 있습니다. 오히려 패러랠스 맵핑은 용량 문제가 정말 심각하지만 일단 같은 조건에서 더 부드럽게 돌아가는 느낌이 있습니다. 하지만 용량 문제로 메모리에 부담이 될 수 있는 것은 사실입니다. 다만 모바일 기본 캔버스 타일맵은 내부에 거대한 비트맵을 보관하므로 애초에 좋지 않은 부분이 있습니다. 또한 패러랠스 맵핑은 WebGL 모드에서는 사용이 불가능합니다. 모바일에서는 RAM(메모리)이 보통 1GB 정도이며 꽤 부족하고, 텍스처의 크기가 보통 4096까지가 제한이기 때문입니다.
    3. WebGL 모드로 돌리면 스크롤 성능이 좋아지므로 굉장히 빠른 속도로 이용 가능합니다. 다만 MV에서는 텍스처를 압축하지도 않기 때문에 부담이 있고 위와 같이 메모리 상에서 제한되는 부분이 좀 있습니다. 그리고 RMMV에서는 비트맵에 그림을 그린 후에 복사해서 사용하기 때문에 WebGL 모드에서도 캔버스 방식을 여전히 사용하고 있는 것도 문제입니다.


    요약

    용량 최적화 : Grid-Free Doodads 플러그인 > 패러랠스 맵핑

    스크롤 성능 : Grid-Free Doodads 플러그인 < 패러랠스 맵핑

    메모리 최적화 : Grid-Free Doodads 플러그인 > 패러랠스 맵핑

    체감상 속도 (Canvas 모드에서) : Grid-Free Doodads 플러그인 < 패러랠스 맵핑

  • ?
    잠행인 2016.09.28 08:10
    오직 속도만 비교했을때 패럴랙스랑 플러그인x인 타일셋 중엔 무엇이 더 낫습니까? 그리고 메모리 최적화란게 잘 이해가 안되는데 메모리 사용량이 높으면 게임이 느려지지 않나요?
  • ?
    잠행인 2016.09.28 08:32
    그리고 현재 프리로딩 플러그인을 쓰고있습니다. 이게 메모리에 부담주는 대신 로딩을 대폭 줄여주는 걸로 아는데, 렉은 오히려 늘어나나요?
  • profile
    러닝은빛 2016.09.28 14:53 Files첨부 (2)
    메모리도 최적화에 상당히 중요하지만, 그에 따른 CPU 사용 시간과 드로우 콜(그래픽 함수 호출 시간)을 줄이는 것도 중요합니다. 개발자 콘솔에서 CPU Pofile를 선택하면, 각 소스가 전체 시간에서 얼마나 CPU 시간을 소비하고 있는지, 어떤 소스가 시간을 많이 사용하는 지 알 수 있습니다. 또한 메모리 상태도 확인이 가능합니다. 개발자 도구에서 Pofiles - Take Heap Snapshot 을 돌리고 확인해보면 메모리를 얼마나 먹고 있는 지 확인이 가능합니다.

    일단 메모리 상에서는 일단 DOM 트리과 컴파일된 코드가 가장 많은 메모리를 차지하고 있습니다 (pixi.js, rpg_objects.js 같은 소스 코드 자체가 제일 많이 차지하고 있습니다) 프리로드에서 사용되는 CacheEntry를 보시면 얼마나 많은 소스가 캐시되고 있고 얼마나 차지하는 지를 알 수 있습니다. 다만 CacheEntry는 게임 초반에는 거의 차지하지 않기 때문에 이렇다고 말 할 수가 없습니다. 초반에는 오히려 좋은 역할을 하고 있다고 볼 수 있는데 시간이 지나면 많이 늘어날 거라고 생각 합니다. (그래서 장기간 플레이 시 저장된 이미지 캐시 메모리 때문에 튕길 수가 있습니다.) 일단 초반에는, Window 부분을 열어서 초반 메모리를 확인해보면, $dataAnimations, $dataTilesets 같은 전역 변수들이 가장 많은 메모리를 차지하고 있다는 것을 알 수 있습니다.

    렉이 늘어나는 지 줄어드는 지는 정확한 수치를 보고 확인을 해보는 것이 좋고, 어느 것이 더 좋을 지도 마찬가지로 실제 프로파일러로 테스트를 해본 후에 판단을 해보는 것이 좋습니다. 물론 이론 상으로는 Grid-Free Doodads 플러그인을 사용하는 것이 좋은 선택입니다. 다만 모바일 크로미움 내부 구현은 이론과는 전혀 다를 수 있기 때문에 이론보다는 실제 테스트가 필요합니다.

    실제 테스트 결과는 다음과 같습니다.

    - 캔버스 타일맵 (canvas tilemap)
    맵 크기 : 41 * 40
    normal.png

    일반 상태 : 35 ~ 38fps
    스크롤링 성능(플레이어를 움직이고 있을 때) : 24 ~ 28 fps (*FPS 저하 심각)
    Graphics.render 성능 : 4984.0 ms (52.95%)
    drawImage 성능 : 2078.5ms (22.08%)
    메모리 상태 : 9,115kb


    - 패럴랠스 맵핑 (Hudell's Orange Overlay)
    맵 크기 : 30 * 30 (1차 시도), 41 * 40 (2차 시도)
    pmm.png

    일반 상태 : 36 ~ 42 fps
    스크롤링 성능(플레이어를 움직이고 있을 때) : 36 ~ 42 fps (저하 없음)
    Graphics.render 성능 : 3214.5 ms (45.17%, 30 * 30), 3999.0 ms (57.8%, 41 * 40)
    drawImage 성능 : 1004.5 ms(14.11%, 30 * 30), 1439.5ms (20.55%, 41 * 40)
    메모리 상태 : 9,235kb (30 x 30), 9,081kb (41 * 40)

    이 관점에서 보면, 캔버스 모드에서의 패러랠스 맵핑은 꽤나 적절하다고 볼 수 있습니다. 

    거대한 그림을 불러와도 실제로는 화면 크기 만큼만 그리게 되니까요.

    반면 모바일 기본 모드인 캔버스 타일맵은 내부에 있는 거대한 비트맵에 실제 타일 갯수만큼 그래픽 함수를 호출해서 모든 타일을 그리게 됩니다. 

    그리고 그렇게 완성한 캔버스를 실시간으로 실제 화면 보여지는 캔버스로 화면 사이즈 만큼만 복사합니다. 

    중간에 타일을 변경하면 다시 처음부터 그립니다. 그리고 스크롤 성능도 좋지 않습니다.

    따라서 해당 플러그인으로 효과를 보려면, WebGL 모드로 돌려야 할 듯 싶습니다.

  • ?
    잠행인 2016.09.28 15:02

    저는 캠버스 타일맵핑 플러그인을 쓰지 않습니다.(혹시 플러그인을 안 써도 여기에 해당한다면 죄송합니다) 페럴렉스 맵핑을 고려하는 것도 이미지를 꾸리려는 것이 아니라 렉을 줄이기 위한 목적이었습니다. 그래도 이 조건과 같다고 봐도 될까요?

  • profile
    러닝은빛 2016.09.28 15:11

    제가 말한 것은 기본 장착된 것으로 플러그인이 아닙니다. 모바일에서는 기본적으로 Tilemap이 캔버스 타일맵으로 생성됩니다. PC에서는 ShaderTilemap으로 생성됩니다. 모바일에서는 webGL 모드로 강제로 돌려야 ShaderTilemap으로 생성됩니다. 일반적으로는 캔버스 타일맵입니다. 따라서 Grid-Free Doodads 플러그인은 모바일에서 캔버스 타일맵을 근본으로 동작하게 됩니다. 캔버스 타일맵 자체에 문제가 있어서 렉을 없애기가 힘듭니다. 또한 방금 테스트를 해보니 WebGL 모드에서도 FPS가 30밖에 나오지 않네요. 제 휴대폰은 2013년에 출시된 휴대폰으로 성능이 그렇게 좋지 않습니다. 참고 하시기 바랍니다.


    + 제가 측정한 수치 상으로는 캔버스 모드에서 그냥 패러랠스 맵핑이 더 우수했습니다. WebGL 모드에서는 텍스쳐의 사이즈가 커지면 좋지 않아지므로 패러랠스 맵핑보다는 일반적으로 생성되는 ShaderTIlemap의 성능이 더 좋았습니다.

  • profile
    러닝은빛 2016.09.28 15:30
    정리하면 모바일이라면,

    - WebGL ShaderTilemap + Grid-Free Doodads

    또는

    - Canvas Tilemap + Parallax Mapping (Hudell's Orange Overlay)

    이 되고, 이에 대한 근거는 위 댓글의 스크린샷들이 설명해주고 있네요.
  • ?
    잠행인 2016.09.28 15:33
    이해했습니다. 감사합니다

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 13184
RMVXA 캐릭터 기본공격을 다른 스킬로 교체하는 방법이나 스크립트가 있을까요? SOFT 2016.09.30 128
RMMV 요전에 공식 한글화가 됐다고 하는걸 봤는데... 무명시절 2016.09.28 164
RMMV 스킬 타겟을 1명으로 제한 1 잠행인 2016.09.28 124
RMMV (수정) yanfly row formation 플러그인 질문 있습니다 잠행인 2016.09.28 105
RMMV 인앱결제 플러그인 2 잠행인 2016.09.27 198
RMMV 파라셀러 맵핑에 관한 몇 가지 의문점들 9 잠행인 2016.09.27 300
RMVXA 이 스크립트의 윈도우를 반투명하게 만들 수 있을까요? file 쏘쿨 2016.09.27 181
RMMV MV로 2회행동 구현해보신분 있나요? 잠행인 2016.09.25 105
기타 우디타 질문입니다 file 줄기 2016.09.24 70
RMMV 메인메뉴하고 게임내 메뉴 수정 못하나요? 2 대마왕vV 2016.09.24 271
RMVXA 데미지가 안들어가요..ㅠ 2 기폭 2016.09.23 146
RMVXA 학교 동아리에서 게임제작을 하려고 합니다. (방탈출 같은 것?) 2 지골 2016.09.22 217
RMVXA 타이틀에 그림 대신 영상을 넣고싶어요 1 아냐 2016.09.22 368
RMVXA BGM 관련 질문입니다. 2 천지설화 2016.09.21 121
RMVX 커먼이벤트 안에서 커먼이벤트를 발동하는 아이템 사용시 사용이 안됩니다. file 엠포 2016.09.21 111
RMVXA 전투시스템 관련하여 질문입니다 ㅠㅠ 4 file 천지설화 2016.09.20 160
RMMV 체험판의 흰화면에 대한 질문 입니다 2 rude 2016.09.19 237
RMMV 파판14 같은 콤보스킬 7 환장 2016.09.19 246
RMVXA 상태이상의 합연산 2 기폭 2016.09.19 177
RMVXA 게임이 도중에 멈추는데 수정을할수가없습니다 1 지나가던팬더 2016.09.18 90
Board Pagination Prev 1 ... 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 ... 517 Next
/ 517