출처는 유니티 블로그.
원제는 'Cuphead developer’s tips to optimize for Nintendo Switch'입니다만
팁이라기보단 후기에 가깝습니다.
요약
- 유니티 내장 프로파일러, 닌텐도 CPU 프로파일러로 병목 구간 빡세게 최적화함
- 스프라이트를 팩킹(전에는 45,000개 이상의 스프라이트를 쌩으로... 쓰고 있었음) 하고 ASTC 포맷으로 압축해서 메모리 사용을 최적화
- 어셋 번들 잘 활용함
- 쉐이더 로딩이 무거웠는데 쉐이더 바리언트 콜렉션 써서 사전에 로딩(preload shader)하게 함.
- 포즈, 로드, 리스타트 시에 GC 돌림. 근데 컵헤드가 너무 어려운 게임(자꾸 죽어서 리스타트 하니까)이라 GC를 체감할 일은 거의 없음.
사족1: GC는 메모리 상에 쌓인 쓰레기를 치우는 행위이고 유니티에선 이때 필연적으로 프레임 드랍이 발생함(보헴GC)
GC는 엔진단에서 자동으로 돌려주는데 전적으로 엔진단에 맡기면 게임 플레이 중에 프레임 드랍이 일어날 수도 있으니
포즈, 로드, 리스타트 같은 타이밍에 임의로 GC를 돌렸다는 건데 다만 게임이 어려워서 애초에 GC를 잘 체감하기 어려웠을 것이란 얘기.
사족2: 블로그에는 나와있지만 않지만 스위치판 이후로 11기가 -> 3기가로 용량이 확 깍인 게 팩킹 안 하고 생으로 스프라이트를 쓴 게 이유였으리라 짐작됨.
사족3: 팩킹 => 이미지를 한데 모아서 쓰는 것(아래 참조)
(IP보기클릭)121.172.***.***
아,그렇구나... 암튼 한글화 땡큐!!
(IP보기클릭)59.10.***.***
근데 저정도 최적화는 다른 게임에서는 일반적인 수준인데.. 처음엔 딱히 퍼포먼스 최적화는 염두에 두지 않고 개발했던듯
(IP보기클릭)116.127.***.***
이제 최적화를 했습니다 로 읽히는건 기분탓인가
(IP보기클릭)116.94.***.***
엑박원이랑 피씨판은 그냥 성능빨로 밀어도 되니까 굳이 최적화도 빡세게 안 했었나 보네요ㅋㅋ
(IP보기클릭)126.200.***.***
이런 글 보면 역시 게임은 아무나 만드는게 아니네요. 아무리 멋진 그래픽이라도 최적화가 못 따라주면 똥이 되어버리니
(IP보기클릭)121.172.***.***
아,그렇구나... 암튼 한글화 땡큐!!
(IP보기클릭)39.118.***.***
지금 내모습ㅋㅋㅋㅋㅋ | 19.04.19 22:59 | | |
(IP보기클릭)220.117.***.***
(IP보기클릭)122.211.***.***
기능은 있는데 초기엔 안 썼다는 듯 | 19.04.19 10:58 | | |
(IP보기클릭)126.200.***.***
이런 글 보면 역시 게임은 아무나 만드는게 아니네요. 아무리 멋진 그래픽이라도 최적화가 못 따라주면 똥이 되어버리니
(IP보기클릭)116.94.***.***
엑박원이랑 피씨판은 그냥 성능빨로 밀어도 되니까 굳이 최적화도 빡세게 안 했었나 보네요ㅋㅋ
(IP보기클릭)211.48.***.***
(IP보기클릭)211.36.***.***
(IP보기클릭)59.10.***.***
팩킹하면 똑같은 저장공간에 더 많은 이미지를 저장 할 수 있어서 용량감소에 큰 도움이 됩니다 | 19.04.19 11:04 | | |
(IP보기클릭)122.211.***.***
로딩도 빨라지고 CPU 부하도 줄고 용량도 줄어듭니다. | 19.04.19 11:04 | | |
(IP보기클릭)118.37.***.***
팩킹은 보통 최적화 때문에 합니다...CPU부하가 엄청나게 줄어들거든요... 최적화 아니면 이득보는거에 비해 해야될게 너무 많아서 굳이 할 이유가 없음... | 19.04.19 19:55 | | |
(IP보기클릭)1.220.***.***
(IP보기클릭)218.147.***.***
(IP보기클릭)202.30.***.***
일시정지, 로드, 리스타트 를 안하면서 계속 플레이하면 GC할때 드랍이 일어날 수 있다는 소린데 저 3작업을 안하고 컵헤드를 한다는건 걍 진행 안하고 가만히 서있는다는 소리.. | 19.04.19 11:04 | | |
(IP보기클릭)59.10.***.***
근데 저정도 최적화는 다른 게임에서는 일반적인 수준인데.. 처음엔 딱히 퍼포먼스 최적화는 염두에 두지 않고 개발했던듯
(IP보기클릭)221.139.***.***
최초의 개발진은 3명이었고...... 나중에 개발상황이 입소문을 타면서 늘어난게 20명이니 사실 소규모 개발팀 특성상 이해될만한 부분이죵 | 19.04.19 11:19 | | |
(IP보기클릭)124.37.***.***
출발이 소수라.. 엔지니어가 그걸 생각안할리는 없으니... 염두에 두지않았다기 보다는 뒤로 돌린거겠죠 | 19.04.19 11:59 | | |
(IP보기클릭)118.37.***.***
최적화 작업이라는게 잘돌아가면 굳이 할필요가 없긴 합니다... | 19.04.19 19:45 | | |
(IP보기클릭)122.36.***.***
(IP보기클릭)211.174.***.***
이챠돈
스테디아 사양 보시면 리소스 무한 아닙니다 | 19.04.19 11:46 | | |
(IP보기클릭)1.243.***.***
이챠돈
나중에 가면 왠만한 게임회사는 스트리밍사업 시작할거 같은데 독점 게임 때문에라도 콘솔은 안망할듯 | 19.04.19 14:06 | | |
(IP보기클릭)118.37.***.***
이챠돈
스테디아 연산량도 한계가 있는데요... | 19.04.19 19:44 | | |
(IP보기클릭)175.209.***.***
(IP보기클릭)112.151.***.***
(IP보기클릭)110.70.***.***
(IP보기클릭)126.35.***.***
(IP보기클릭)116.127.***.***
이제 최적화를 했습니다 로 읽히는건 기분탓인가
(IP보기클릭)122.211.***.***
정답...! | 19.04.19 11:44 | | |
(IP보기클릭)175.223.***.***
(IP보기클릭)118.37.***.***
1.최적화개념이 없는경우 2.테스트용 저사양PC가 따로없어서 그냥 자기PC기준으로 사양잡고 출시하는경우 3.최적화작업까지 하다간 출시 못할거같아서 나중에 패치하겠단 생각으로 일단 그냥 출시하는경우 | 19.04.19 19:57 | | |
삭제된 댓글입니다.
(IP보기클릭)58.13.***.***
뮌헨챔스우승
이 글은 딱히 스위치판의 단점 같은 걸 써둔 내용은 아닌데요... | 19.04.19 12:06 | | |
(IP보기클릭)183.96.***.***
(IP보기클릭)59.10.***.***
아틀라스 작업도 안해둔걸 보면 다른 부분도 알만하지 않을까요 | 19.04.19 13:12 | | |
(IP보기클릭)118.37.***.***
자주안생겨도 슈팅게임은 중간에 프레임드랍 생기면 빡치니까 리스타트 같은거 할때 치우도록 임의로 잡아놓음...근데 게임자체가 난이도때문에 리스타트를 워낙 많이해서 그나마도 프레임드랍 일어날만큼 쓰래기가 쌓인경우가 거의 없을거다 라는뜻... | 19.04.19 19:42 | | |
(IP보기클릭)211.36.***.***
(IP보기클릭)118.37.***.***
(IP보기클릭)221.147.***.***