금요일에 충돌처리 코드를 멀티스레드로 돌리기 시작했다.
덕택에 약 90%정도의 성능향상이 있었다.
내친김에 충돌처리 코드들을 SSE코드로 바꾸기 시작했다.
몇 가지 충돌처리 코드들을 SSE 어셈블리 코드로 바꿨다.
금요일밤 퇴근하고부터 토요일 새벽까지, 토요일 정오쯤부터 오늘 새벽까지 계속해서 코드를 짰다.
캐릭터 400마리 충돌처리하는데 70만클럭정도 소모하던것을 58만클럭까지 떨어뜨렸다.
3개 정도 함수는 더 바꿀수 있을것 같다.
신경좀 써주면 기존 코드의 배까진 빨라질듯.
삘받았다. 간만에 집에서 코딩해보네.
코딩중입니다. 하지만 그동안 서버만 만지느라 근 일년만에 엔진쪽을 보고 있자니 이건 제가 짜놓고도
하나도 모르겠다는게 문제군요. -.-;;;
그런데 멀티스레드를 사용해서 기존 코드의 두배면 100%의 성능향상이 있는 것이로군요. 멋집니다~!
저도 CPU가 듀얼시대가 오면서 엔진쪽도 멀티스레드를 쓰는게 좋을것 같다고 생각해 왔는데 저 역시
충돌쪽과 알파소팅, 리소스 로딩쪽은 멀티스레드를 쓸려고 생각중입니다.
모쪼록 힘내시고 즐거운 코딩 되시길 바랍니다~