게임 개발 자료

[스크랩] "소울워커 로딩이 느린 이유 / 로딩 시간 70% 줄이기" 프로파일러 등

원소랑 2024. 4. 17. 18:12

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/

 

Very Sleepy

Very Sleepy is a free C/C++ CPU profiler for Windows systems. I originally started it as a simple fork of Nick Chapman's sleepy, because I had some features I wanted adding, but these days Very Sleepy is developed thanks to the efforts of dozens of people

www.codersnotes.com

 

 

원문에서 활용한 패치(?) 코드는 아래 깃헙에서 확인할 수 있음.

https://github.com/CirnoV/SoulWorker_Booster_PoC

 

GitHub - CirnoV/SoulWorker_Booster_PoC

Contribute to CirnoV/SoulWorker_Booster_PoC development by creating an account on GitHub.

github.com

구현부

https://github.com/CirnoV/SoulWorker_Booster_PoC/blob/main/lib.cpp

 

 

디버거나 디스어셈블러(디컴파일러)는 언급되지 않았음.

 

 

원문

소울워커 로딩이 느린 이유 / 로딩 시간 70% 줄이기

https://arca.live/b/soulworkers/40937494

 

소울워커 로딩이 느린 이유 / 로딩 시간 70% 줄이기 - 소울워커 채널

서비스 초창기부터 소울워커는 최적화 문제에 시달려왔다.최적화 문제로 여론이 나빠질 때마다 개발사에서는 “최적화를 위해 항상 노력하고 있지만, 구식 엔진의 한계로 인해 어렵다.”라는

arca.live

 

728x90
반응형