3년쯤 전, 게임 관련으로 꽤 이슈가 됐었던 소울워커 로딩 최적화 관련 글. 개발사의 관계자가 아닌 일반 유저가 프로파일링과 디스어셈블 등으로 원인을 파악하서 해결방법까지 정리한 글이 화재가 됐었다.
이 글의 결론은 프로파일링의 중요성. 파일 io api 가 과도하게 호출되는 문제가 있었고, 프로파일러를 돌려서 병목을 해결했다면 좋았을 것이라는 이야기.
3년 전 글이고, 읽어야지 읽어야지 하다가 여태 스크랩만 해뒀었는데, 이제서야 읽어본다.
본문에 좋은 자료들이 많아서 따로 정리해본다.
본문에서 등장하는 C/C++ code profiler 는 Luke Stackwalker.
https://lukestackwalker.sourceforge.net/
게임, 즉 프로세스가 어떤 파일에 접근하는지 모니터링 하기 위한 도구는
Process Monitor
https://learn.microsoft.com/en-us/sysinternals/downloads/procmon
콜스택 추적은 CPU profiler 인 Very Sleepy
http://www.codersnotes.com/sleepy/
원문에서 활용한 패치(?) 코드는 아래 깃헙에서 확인할 수 있음.
https://github.com/CirnoV/SoulWorker_Booster_PoC
구현부
https://github.com/CirnoV/SoulWorker_Booster_PoC/blob/main/lib.cpp
디버거나 디스어셈블러(디컴파일러)는 언급되지 않았음.
원문
소울워커 로딩이 느린 이유 / 로딩 시간 70% 줄이기
https://arca.live/b/soulworkers/40937494
'게임 개발 자료' 카테고리의 다른 글
스팀 게임 개발자 등록 메모 (등록 수수료 $100 결제 전 단계까지) (0) | 2024.04.24 |
---|---|
스팀 게임 출시를 위한 준비와 스팀 페이지, 데모 배포 방법 스크랩 (0) | 2024.04.22 |
한글 은,는,이,가 등의 조사 처리 C# 버전 (0) | 2024.04.21 |
GDC2024, 꼭 들어봐야 할 강연 9개 (0) | 2024.04.03 |
게임 레벨 디자인 관련 메모 (2024.03.27) (0) | 2024.03.27 |
테트리스에 영감을 준 펜토미노(Pentomino) (0) | 2024.03.27 |
테트리스의 신작 <테트리스 리버스드> GDC 기사와 관련 자료 수집 (0) | 2024.03.27 |