질문과 답변

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 12392
RMVX 파일이 열리지 않아 문의드립니다. 1 짱짱 2011.08.19 1326
에러 해결 RMVXA 파일이 안 열려요 file 설님 2020.05.11 65
에러 해결 RMMV 파일을 열면 이렇게 되는 이유? 2 file 한글자3 2020.04.13 111
에러 해결 RMMV 파일을 열려고 하면 프로그램이 멈춥니다. file 고르아게 2019.05.05 58
사이트 이용 파일을 업로드하려는데 실황과 이차창작에 대한 정확한 뜻을 알고싶습니다. 2 김용암 2018.01.30 176
RMVXA 파일열기스크립트 게임잘날아가는닝겐 2015.02.16 137
RMVXA 파일암호화 관련 질문드립니다. 4 l미누리l 2016.08.12 1637
RMXP 파일로드가 안돼요; 5 file 따싯 2013.02.23 648
기타 파일 첨부가 안돼요. 1 솔로몬 2011.03.13 1549
RM2k3 파일 시스템 C를 열수 없음? 3 엑스트라 2013.01.02 888
RMXP 파일 Data/Map006.rxdata 가 발견되지 않습니다. <-- 라는 에러 어떤 경우의 에러인가요? 2 file 내손목아지 2014.02.07 904
기타 파인딩 파라다이스 오류납니다ㅠㅠ 3 file 분필갈매기 2018.01.03 1279
기타 RMMV 파이널판타지15나 파판7리메이크처럼 전투시스템을 구축하려 하는데 도움을 주셨으면 합니다. 2 레기우스州 2020.12.24 77
RMXP 파랜드택틱스 같은 턴알 만들 수 없나요? 3 모르모트 2011.11.26 2561
RMMV 파라셀러 맵핑에 관한 몇 가지 의문점들 9 잠행인 2016.09.27 289
RMXP 파노라마의 움직임 1 안동사과 2014.05.05 575
RMXP 파노라마의 색조변경 어떻게하나요? 2 석진이 2011.07.15 1599
기본툴 사용법 RMMZ 팀프로젝트 할 때 초심미아 2024.04.02 77
RMVX 티스토리에 있는 짤린 스크립트들 복구 안되나요? 2 dcbuzz 2010.09.09 4721
RMVXA 특정한 폰트를 넣고 싶은데 1 GOETSU 2016.07.15 313
Board Pagination Prev 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 516 Next
/ 516