안녕하세요. 모험가 여러분.
던전앤파이터 프로그램 개발총괄팀장입니다.
64bit 클라이언트 개발 진행 상황에 대해 공유 드립니다.
많은 모험가분들께서 64 bit 클라이언트 적용을 기대하고 계셨을 텐데요, 적용이 늦어지게 된 이유와 필요한 이유, 적용 시 개선사항 등에 대해 설명 드립니다.
■ 64bit 클라이언트 지원이 어려웠던 이유
그동안 64bit 클라이언트 지원이 어려웠던 이유는 크게 두 가지입니다.
첫 번째는 32bit 운영체제를 이용하시는 모험가분들의 비중입니다.
아래는 2019년 11월부터 2020년 8월까지의 32bit 운영체제 사용 비율입니다.
2020년 이전까지는 전체 클라이언트의 약 15~20%가량이 32bit 운영체제에서 접속하였으며 결코 간과할 수 없는 비율이었습니다.
하지만 2020년 이후 점차 비율이 감소하여 최근에는 1% 이하 수준을 보이고 있습니다.
이처럼 32bit 운영체제를 이용하시는 모험가분들의 비중이 많이 감소하였기에 64bit 클라이언트를 제공하고 업데이트하시도록 안내할 적기라 보았습니다.
두 번째는 32bit 64bit 클라이언트 동시 지원 시 발생하는 안정성 문제 때문입니다.
던전앤파이터는 레이드, 파티, 결투장 등 다양한 플레이 컨텐츠로 구성되어 있으며, 만약에 32bit 64bit 클라이언트를 동시 지원할 경우 각각 별도로 작업을 해야 하는 문제가 있습니다.
동시 지원으로 인하여 개발이 복잡해지고, 게임 상에 두가지 클라이언트가 동시에 연동되면 버그 양상 또한 다양하게 발생할 수 있어, 예상치 못한 상황과 문제가 발생하여 안정성이 더욱 떨어질 수 있습니다.
모험가 여러분들께 최적의 안정적인 서비스를 제공해 드리기 위해선 단일 클라이언트 지원이 불가피한 선택이었습니다.
■ 64bit 클라이언트 적용이 필요한 이유
(1) 메모리 최적화의 한계
32bit 클라이언트는 4GB의 가상 메모리 제한이 있는데, 32bit 운영체제인 경우 실제론 훨씬 더 적은 메모리에서 던전앤파이터가 구동되는 상황입니다.
그동안 개발자 노트를 통해서도 소개해 드렸던 메모리 최적화 작업은 꾸준히 진행되었지만, 4GB의 메모리 한계는 극복하기 어려운 문제였습니다.
이 문제와 관련해서 모험가분들은 크게 두 가지 불편을 겪으셨을 것으로 예상됩니다.
첫 번째는 프레임이 끊기는 현상(드랍)이나 이미지가 늦게 보이는 현상 등 성능(렉)과 관련한 부분이며, 두 번째는 게임 플레이 중 접속이 종료되는 등 팅(안정성)과 관련한 부분입니다.
구조적으로 설명해 드리자면, 렉 현상 최소화를 위해선 캐시 성능을 위해 미리 필요한 자원을 적재할 메모리를 확보해서 사용해야함으로 적절한 수준의 메모리 관리가 중요하고, 과거의 메모리 최적화는 이러한 방향성을 가지고 진행되었습니다.
하지만 32bit 클라이언트는 메모리 여유가 없기 때문에, 부족하게 되면 안정성에 문제가 생겨 접속 문제가 발생하게 됩니다.
즉, 렉 개선을 위해 메모리를 확보하면 안정성에 문제가 생기는 양립할 수 없는 문제인 것입니다.
최선을 다해 이 둘의 균형을 최대한 감안하여 최적화하였으나 근래 들어 안정성 위주의 최적화가 많았으며 결과적으로 성능 저하가 많아진 상황입니다.
64bit 클라이언트가 적용되면 4GB라는 메모리 한계를 벗어날 수 있기 때문에 성능과 안정성 둘 모두를 추구할 수 있을 것으로 기대합니다.
(2) 2020년 메모리 상황 악화
2020년부터 메모리 상황은 더 열악해졌습니다. 메모리 부족 문제는 주로 다수의 모험가분들이 함께 즐기는 컨텐츠에서 발생합니다.
2020년도에는 진 각성 추가로 화려한 리소스가 많이 추가되면서 캐릭터가 차지하는 메모리양이 크게 증가하였습니다.
최적화에 공을 들였지만, 캐릭터당 50~100MB가량 증가하는 것은 피할 수 없었습니다. 그리고 진 각성이 점차 진행됨에 따라 이 현상은 더욱 가속화되었습니다.
이후 오큘러스, 시로코 레이드 등 신규 컨텐츠가 추가되면서 파티 플레이 형태가 많아지게 되었고, 늘어난 캐릭터 리소스와 빈번해진 파티 플레이로 32bit 클라이언트의 가상 메모리가 모두 소진되면서 클라이언트 비정상 종료 사례가 보다 빈번하게 발생하게 되었습니다.
최근 메모리가 부족할 경우 동영상을 재생하지 않도록 조치한 것이 이러한 문제를 해결하기 위한 대표적인 사례입니다.
그리고 많은 모험가분들에게 이미 익숙해진 부분일 텐데요.
마을에서 이미지 로딩으로 인한 메모리 할당을 최소화하고자 시로코 레이드에서는 마을 유저의 아바타를 표시하지 않고 실루엣 표시를 강화하기도 하였습니다.
두 사례 모두 안정성을 위해 성능의 양보가 필요한 경우로 볼 수 있으며, 64bit 클라이언트가 적용될 경우 개선 가능한 부분으로 보고 있습니다.
■ 64bit 클라이언트 적용으로 개선되는 점
64bit 클라이언트 적용은 즉각적으로 개선되는 부분과 추후 개선을 기대할 수 있는 부분으로 나뉩니다.
즉시 개선되는 부분으로, 장시간 플레이 시 발생하는 이미지 깜빡임과 클라이언트 비정상 종료 현상이 줄어들 것입니다.
그리고 레이드 클리어 시 메모리 부족 알림이나 레이드 채널에서의 캐릭터 실루엣 표시 빈도가 줄어들 것입니다.
또한, 메모리 최적화를 위해 해상도를 낮추어 적용하였던 진 각성기 컷신, 버프 컷신 이미지들도 원 해상도로 복구하여 적용될 예정입니다.
그리고 위에 설명 드렸듯이 가상 메모리가 부족하여 프레임 드랍 등 성능 문제를 개선하지 못했던 부분도 개선해 나갈 수 있을 것으로 기대합니다.
이 부분은 많은 모험가분들이 기대하시는 부분으로, 쾌적한 게임 플레이를 위해 중요한 부분으로 생각하고 있습니다.
64bit 클라이언트 안정성이 확보되는 대로 진행할 수 있도록 하겠으며, 다음 개발자 노트에서 다룰 수 있기를 기대하고 있습니다.
■ 64bit 적용 시점과 32bit 운영체제 업그레이드
64bit 클라이언트는 9/2(수) 퍼스트 서버에 적용을 목표하고 있습니다.
이때는 안정성 테스트가 가장 중요하기에 다른 컨텐츠가 업데이트되지 않을 예정인 점 참고 부탁드립니다.
아울러 32bit 운영체제를 이용하는 모험가분들께 안내 말씀드립니다.
64bit 클라이언트가 적용되면 32bit 운영체제에서는 게임 플레이가 불가하기에 반드시 운영체제도 64bit 업데이트가 필요합니다.
운영체제 확인 방법은 Windows 7, Windows 10의 경우, [제어판]->[시스템] 항목에서 확인하실 수 있습니다.
32bit 운영체제를 사용하시는 모험가분들께는 64bit 운영체제 설치가 불가피한 점에 대해 미리 양해를 구합니다. 불편을 드려 죄송합니다.
지금까지 64bit 클라이언트 적용과 관련하여 말씀드렸습니다.
많은 모험가분들이 64bit 클라이언트를 기다려 주신 것 잘 알고 있으며 실 서버 적용 때까지 최선을 다해 개발하도록 하겠습니다.
아울러 32bit 운영체제를 이용하고 계신 모험가분들께 다시 한번 불편을 드려 죄송하다는 말씀드립니다. 앞으로도 모험가분들이 쾌적한 플레이를 할 수 있도록 최선을 다하겠습니다.
마지막으로 부탁의 말씀 드립니다. 9월 2일 퍼스트 서버 업데이트 시, 안정성 확보를 위해 모험가 여러분의 도움이 필요합니다.
64bit 클라이언트를 체험해 보고 싶으신 모험가님께서는 퍼스트 서버에 접속하셔서 플레이하시면서, 퍼스트 서버 게시판에 불편 사항을 제보해 주신다면 큰 도움이 될 것 같습니다.
하루라도 빨리 모험가 여러분께 선보이고 싶은 마음에, 빠른 테스트 완료를 목표하고자 말씀드리오니 이 점 넓은 마음으로 봐주시면 감사하겠습니다.