AT 최적화에 대한 다방면의 CPU, GPU, CPU->GPU 실험의 결과로 다음과 같은 최적화 결과를 내놓게 되었습니다.
* 결론을 빨리 알고 싶으신 분은 맨 마지막으로…
테스트는 기본적으로 필드 이동 - 한양 정령의 숲 부터 상하이까지 자동이동- 의 결과 데이터를 기반으로 하며, 그 외에도 이미 알려진 내용들을 종합하여 결과물을 정리했습니다.
사양: 최소사양급 (셀1.7, 512M Geforce5200) 으로 작업되었습니다.

이 사양에서 Fraps 퍼포먼스 체크를 이용하여 테스트하면
아틀란티카는 최하 옵션에서 약 10~14 프레임 내외로 동작하며,
카발 온라인은 최하 옵션에서 약 12 프레임 내외로 동작합니다.
와우는 … 평균 15 프레임 … ㄷㄷㄷ 역시 블리자드….
그렇지만 카발 온라인이 훨씬 쾌적한 게임 플레이를 보여주는데, 그 이유는 전체적인 프레임의 상승보다는 전체적인 프레임의 안정, 그리고 전투시의 쾌적한 게임 플레이가 그 원인이라고 할 수 있습니다.
이것은 게임 플레이시에 보통 한 캐릭터만 나와서 게임하며, 주로 쿼터뷰로 화면을 고정하는 방식 때문에 그런 것으로 보입니다. 한 번에 적어도 우리편 + 적군 합쳐서 10명 이상 나오는 우리와는 다르겠지요.
각설하고, 몇 주간에 걸친 세부 퍼포먼스 테스트와 프로파일링 결과로 다음과 같은 결과가 나왔습니다.
(이것은 개발자J와 애로 조 명근 선생께서 테스트하고, 애로 조 선생께서 정리해 올리신 데이터를 기초로 하고 있습니다.)
게임 루프 퍼포먼스 체크.
게임이 한 번 루핑 될 때 부하를 주는 각 부분에 대한 % 결과 입니다.
정령의 숲 부터 상하이까지 위주로 체크되었으며, 아래는 저 사양 머신에서의 테스트 데이터입니다.
위 데이터를 세부분석한 것은 다음과 같습니다.
1. End3DProcess 34%
가장 높은 비율을 차지하는 Process 입니다.
End3DProcess가 한 사이클에 0.8초 이상 잡아먹는다는 것을 알 수 있습니다. 가장 높은 비율이지요.
또한 End3DProcess 에서의 부하량을 보면, DUI 렌더링이 65% 를 잡아먹고 있다는 것을 알 수 있습니다.
이것은 즉 UI 드로잉의 부하가 약 0.5초 잡아먹는 다는 것을 알 수 있지요.
그러므로 UI 드로딩일 개선할 필요가 있다는 것을 알 수 있습니다.
* 테스트 결과에 의하면, UI 를 완전히 제거하면 약 3-4 프레임의 증가가 되는 것을 확인하였습니다.
- Start3DProcess 22%

게임 화면 렌더링 부분인 Start3DProcess에서
그 다음으로 많은 부분을 차지한다는 것을 알 수 있습니다.
이것은 게임 화면 드로잉 자체의 부하로, 사실상 어쩔 수 없는 부하일 수 밖에 없는 부분입니다.
그러나 이 부분을 세밀하게 다시 테스트해본 결과는 좌측과 같은데,
Draw_Doodads 부분이 45% 로, 장식물을 그리는데 가장 자원이 많이 드는 것을 알 수 있습니다.
그 다음으로는 Draw_Tranciparency 부분으로 알파 오브젝트의 처리에서 30% 의 부하를 유발한다는 것을 알 수 있지요.
이것의 개선방향은 Doodads의 양을 줄이는 방법을 강구하고,
알파 오브젝트의 수를 줄이는 등의 개선안이 필요하게 됩니다.
* 이 부분은 맵에디터에서 Doodads 를 모두 제거하여 테스트한 결과로, 약 4프레임 가량의 향상을 확인하였습니다.
실제로 개선을 하게 되면 이것보다는 낮은 결과가 나올 것입니다.
- UPKeepFPS 18%
이 부분은 입력을 원할히 받기 위해, 입력받는 부분을 위한 딜레이 타임입니다. 혹은 발열방지로도 사용되었습니다.
이 부분은 테스트 결과, 사양이 높은 시스템일수록 UPKeepFPS 부분이 크게 잡아먹혀지고, 시스템을 일정 이상 빨라지지 않게 해 줍니다. 즉 사양이 어느 정도 어중간 하면, 이 부분 때문에 게임이 무겁다고 느껴지게 되는 것입니다.
고사양일수록 이 부분을 제거하면, 상당한 수준의 FPS가 증가되게 됩니다.
즉 발열 대책은 좀 더 세부적으로 들어가서 새로운 부분을 찾을 필요가 있으며, 이 부분을 개선시키는 작업이 필요할 듯 합니다.
* 저사양에서는 1~2 프레임의 증가가 일어났으며, 실제적으로 저사양에서는 큰 향상을 기대하기 힘들 듯 합니다. 그러나 개선은 필요합니다.
- MessagePicking
특별히 개선할 여지가 없습니다.
- MainAction
말그대로 메인 액션 -_-;; 마우스 픽킹 쪽에서 가장 부하가 큽니다.
그러나 이 부분은 이미 전체에서 차지하는 %가 낮기 때문에 대처방안을 생각하지 않고 있습니다.
- UpdateProcess
게임내의 업데이트 하는 부분의 프로세스입니다.
역시 Doodads 의 개선을 통해 개선될 수 있습니다.
결론
결론적으로, 가장 부하를 많이 주는 부분이며, 개선을 할 수 있는 부분은 다음과 같습니다.
UI (인터페이스)
Doodads (장식물)
Tranciparancy (알파 오브젝트 : 파티클)
UPkeepFPS (입력 대기 시간)