[스크랩] "소울워커 로딩이 느린 이유 / 로딩 시간 70% 줄이기" 프로파일러 등
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