개발자 노트

> 새소식 > 개발자 노트

멀티코어 최적화 개발 소식

  • DEV 주도로
  • 2010-07-05 09:41
  • https://heroes.nexon.com/common/postview?b=20&n=60

안녕하세요, 마비노기 영웅전 개발팀의 주도로입니다.

많은 유저분들께서 기다려오신 멀티코어 CPU 환경에서의 클라이언트 최적화 기능을 지난
6월 4일에 테스트 서버를 통해 처음 공개하였고,
이후 안정화와 성능 개선 등의 작업을 지속적으로 진행하였습니다.

이러한 멀티코어 최적화 기능은 보다 개선된 모습으로,
다가오는 7월 첫번째 업데이트 때 프리미어 서버에 정식으로 제공됩니다.


이번 개발자 노트에서는 그동안 궁금해하셨던,
"어떤 기능이 얼마나 개선"되었는지에 대한 정보와 이 기능을 "어떻게 사용"하는지에 대한
안내를 드리고자 합니다.


먼저, 멀티코어 최적화 기능의 사용법을 안내드리면,

멀티코어 최적화 기능은 테스트 서버에서와 유사하게, 옵션으로 제공됩니다.

"옵션 > 비디오 옵션 > 멀티코어 설정""사용 안 함", "최소 전력", "안전 모드", "최대 가속" 등의
총 4가지의 세부 항목이 있습니다.



  : 사용 안 함 - 기존과 동일하게 동작합니다. 
  : 최소 전력 - 일부 기능을 사용하지 않음으로써, CPU 점유율을 낮추고 전력의 소비를 줄입니다. 
  : 안전 모드 - 다양한 시스템 환경과 옵션 상에서도 안정적으로 동작하는 기능 위주로 사용합니다.
  : 최대 가속 - 모든 기능을 사용함으로써 최대의 성능을 발휘합니다.
                      시스템 환경과 옵션에 따라 간혹 오동작이 발생할 수 있습니다.

멀티코어의 활용은 물리적인 프로세서의 개수에 따라 다르게 동작합니다.
싱글코어 환경에서는 옵션 설정과 무관하게 항상 "사용 안 함" 상태가 되며,
쿼드코어와 DirectX 9 환경에서 최고의 성능을 발휘하도록 개발되었습니다.

그리고 클라이언트의 CPU, 운영체제, 드라이버, 그래픽 카드, 비디오 옵션 등의
여러 시스템 환경에 따라 다르게 동작할 수 있습니다.
이 부분은 지속적인 안정화 작업을 통해 개선할 계획입니다.

이번에 멀티코어를 활용하여 최적화된 대상은
"애니메이션, 파티클/이펙트, Direct3D 런타임, 가시성 검사 등의
게임 렌더링에서 큰 부분을 차지하는 서브 시스템"
들이며,
이들 각 서브 시스템은 쿼드코어 환경에서 20~60% 가량의 성능이 향상되었습니다.

그럼 개발 중에 촬영했던 스크린 샷을 통해 성능 향상 효과를 간단히 보여드리겠습니다.



다음의 테스트에 사용한 PC의 사양은 아래와 같습니다.

=============================
CPU: Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz (쿼드코어)

GPU: NVIDIA GeForce 9800 GT

OS: Windows 7 Professional (32 bit)
=============================


먼저 간단한 배경 위에 몬스터만 40여 마리(예티, 얼음 바위 예티, 위습 등)를 생성한 모습입니다.

<멀티코어 옵션 사용 안 함 (61 FPS)>




<멀티코어 옵션 사용: 최대 가속 (96 FPS)>: 57% 상승




좌측의 그래프를 보시면 멀티코어 옵션을 사용했을 때,
클라이언트 애니메이션(Client Animation)파티클/이펙트 렌더링(Particle/Effect Rendering)
비용이 50% 미만으로 크게 감소하였고, 초당 프레임 수는 61 FPS에서 96 FPS로 크게 향상되었음을
확인하실 수 있습니다.



다음으로 실제 전투에서의 비교입니다. 지난 Fever 업데이트 때 추가된 리시타의 새로운 스킬
(사우전드 니들 추가타)을 사용하여 화려한 이펙트가 연출되는 상황입니다.

<멀티코어 옵션 사용 안 함 (54 FPS)>




<멀티코어 옵션 사용: 최대 가속 (86 FPS)>: 59% 상승




좌측의 그래프를 보시면 화려한 이펙트로 인해 이펙트 렌더링 비용이 상당히 높게 올라가는 상황입니다.
멀티코어 옵션 사용으로 이펙트 렌더링 비용이 7 ms에서 2 ms로 70% 가량 크게 감소하였습니다.
이펙트 외의 다른 렌더링 비용들도 소폭 감소하여,
초당 프레임 수가 54 FPS에서 86 FPS로 크게 향상되었습니다.



이 외에도 전반적인 렌더링 최적화가 이루어졌고,
멀티코어 환경 뿐만 아니라 싱글코어 환경에서도 그 효과를 조금은 체감하실 수 있을 겁니다.
그리고 이러한 최적화는 앞으로도 지속적으로 진행할 계획입니다.


이번 멀티코어 CPU 환경에서의 클라이언트 최적화 기능을 통해, 보다 쾌적하고
더 높은 비주얼 환경에서 많은 유저분들과 함께 즐길 수 있는 마비노기 영웅전이 되기를 기대합니다.


감사합니다.

댓글 657

로그인 후 이용하실 수 있습니다

글을 등록하실 때는 타인을 존중해 주시기 바랍니다. 타인을 비방하거나 개인 정보를 유출할 경우,
운영 정책에 의하여 제재를 받거나 관련 법에 의하여 처벌을 받을 수 있습니다.