1.1 버전 패치노트에서 벨트 최적화 내용을 보고 직접 비교해봄


Optimisations

  • Multithreaded belt update logic.
  • Overall small entity update time reduction + statistics of how much update time is taken by individual entities.

무려 벨트를 멀티쓰레드로 처리하게 됐다고 한다


테스트에 사용할 맵은 예전에 레딧에서 받은 15kspm짜리 기가베이스임







다른거 아무것도 없고 이렇게 생긴 250 SPM 짜리 모듈 60개만 딸랑 있는 맵


벨트, 봇이 적당히 섞여있는 UPS 최적화된 디자인이라고 함.

내가 만든거 아니라 잘 모름


테스트는 /c game.speed=4 로 놓고 풀가동한 상태로 테스트함





좌측이 1.0, 우측이 1.1



벨트의 업데이트 타임이 3.0 ms 에서 1.5 ms 로 거의 반이 줄었다


벨트 자체 연산만 고려하면 무려 2배로 빨라졌다는 얘기임



밑에 Entity update도 8.4 ms 에서 7.8 ms 로 살짝 줄어든것 같은데

이정도면 시간에 따른 평균을 내봐야 되서

캡쳐 한장만으로 비교하긴 좀 어려울듯



그러면 진짜로 멀티코어를 쓰는지 보자





멀티쓰레드에 의한 최적화니까 당연히 CPU의 영향을 크게 받을거고


일부러 지금 쓰는 CPU가 보이게 캡쳐함

CPU의 대략적인 사양은 Intel i5-9600K @4.8GHz OC, 6코어, 하이퍼스레딩 없음


확실히 메인 코어 말고 다른 코어들 사용량이 증가함





그래프랑 마찬가지로 점유율 봐도 좀 늘었음



메모리는 DDR4 8GBx2 @3600MHz OC

CPU 메인 코어 점유율 100%가 아니라서

메모리 병목인지 CPU 병목인지 약간 애매한 상황이긴 한데


그래도 벨트 최적화 엄청 된건 확실하고

하이퍼쓰레딩도 전보단 잘 쓰는것 같음




한줄요약 : 이제 봇과 기차의 시대는 갔다. 벨트가 최고다.