- 위치랙 개선을 위한 파워싱크 프로젝트 4탄
-
35,626
257
-
CYPHERS
2015-08-05 09:52:35
안녕하세요. 정보통E입니다.
'파워싱크(PowerSync)' 프로젝트의 네 번째 시간입니다.
이번 매거진은 7월에 업데이트 노트를 통해 공개되고 적용된 부분에 대한 정리 및 그 결과를 공유드리고
8월 6일에 적용 예정인 동기화 관련 개선 내용에 대해 자세하게 알려드리겠습니다.
= 업데이트 적용 일정 =
날짜 |
동기화 개선 업데이트 내용 |
2015년 5월 14일 |
네트워크 통신 주기 최대화 위치 동기화 모니터링 시스템 |
2015년 5월 28일 |
클라이언트가 사용하는 네트워크 대역폭 감소 네트워크 통신 알고리즘 변경을 통한 게임 반응성 향상 1차 더욱 정밀한 물리계산 적용 클라이언트 잔랙 최소화 |
2015년 6월 25일 |
동기화 관련 추가 개선 적용 - 서버와 클라이언트 회선 상태 알림 (핑 기능) - 피격자의 위치 보정 세밀화 - 점프 기어 지연 현상 개선 - 스킬 이펙트가 남아 있는 현상 완화 |
2015년 7월 26일 |
네트워크 사용 대역폭 최적화 적용 클라이언트 간 네트워크 지연 최적화 |
2015년 8월 6일 |
클라이언트 잔랙 현상 최적화 (프리징 현상 개선) 철거반/립/트루퍼 모션 개선 |
※ 표의 내용 이외에 추가적인 작업이 계속 진행될 예정입니다, 안정성이 확보되면 적용하겠습니다.
지난 3차 동기화 개선 및 7월 23일 패킷 최적화 작업이 진행된 후 로그 분석이 진행되었습니다.
동기화 개선 작업이 시작된 후부터 위치랙 현상은 지속적으로 감소하는 추세를 보였습니다.
= 참고 : 위치랙 발생 비율 산정 방법 =
위치랙 발생 빈도를 총플레이 시간으로 나눠 플레이 시간당 위치렉 발생 빈도를 체크하여 증감 추세 파악
다음은 지금까지 진행된 작업들에 대한 위치랙 감소 비율을 정리해 보았습니다.
날짜 |
동기화 개선 업데이트 내용 |
위치랙 감소 효과 |
5월 14일 |
네트워크 통신 주기 최대화 |
패치 전 (5/9) : 11.71% |
5월 28일 |
클라이언트가 사용하는 네트워크 대역폭 감소 네트워크 통신 알고리즘 변경을 통한 게임 반응성 향상 1차 더욱 정밀한 물리계산 적용 클라이언트 잔랙 최소화 |
패치 전 (5/23) : 10.65% 패치 후 (5/30) : 9.52% → 11.80% 감소 |
6월 25일 |
동기화 관련 추가 개선 적용 |
패치 전 (6/21) : 9.62% 패치 후 (6/27) : 8.22% |
7월 23일 |
네트워크 사용 대역폭 최적화 적용 |
패치 전 (7/18) : 7.79% 패치 후 (7/25) : 7.55% → 5.21% 감소 |
안녕하세요. 사이퍼즈 개발실 서버 파트장입니다. 지금까지의 동기화 개선 작업은 클라이언트의 네트워크 성능 향상과 가상화 로직을 개선을 중심으로 작업이 진행되었습니다. 그 결과는 업데이트가 적용됨에 따라 조금씩 좋아지는 모습을 보였습니다. 8월 6일 준비 중인 업데이트가 적용되면 잔랙 및 프리징 현상을 포함한 개선 작업과 함께 발생했던 문제점을 개선할 수 있으리라 생각됩니다.
7월 주요 작업으로 진행되었던 내용 중, 작업량은 많았으나 그 내용을 능력자 여러분께 자세하게 공개하기
여러웠던 '패킷 최적화' 업데이트가 있었습니다. 공개가 어려웠던 이유는 대부분 기술적인 내용들이라 매거진을
통해 자세하게 설명하기 어려웠고 그래서 7월 23일 패치노트에서도 '네트워크 패킷 최적화 작업을 통해 클라이언트
간의 네트워크 대역폭 사용 최적화가 적용됩니다'라고 적을 수밖에 없었습니다. (ㅜㅜ...)
패킷 최적화 목적은 클라이언트 간 통신에서 주고받는 데이터가 줄어드는 것이며, 그만큼 실시간 반응이 중요한
사이퍼즈에서 타인의 네트워크 환경에 영향을 최소화하여 결과적으로 위치랙 해결의 토대를 마련하기 위함입니다.
업데이트 적용 후 2주간 결과를 모니터링 한 결과 업데이트 전보다 네트워크 사용량이 43% 감소하는 결과를 얻을 수 있었습니다.
[주황색 : 개선 전 패킷 전송량 / 파란색 : 최적화 후 패킷 전송량]
동기화 개선 작업을 진행하면서 '잔 랙'이라고 불리는 '프리징 현상'에 대해 개선 작업이 진행됩니다.
사실, 능력자 여러분이 느끼는 '잔 랙'의 원인은 단순 클라이언트 상태만으로 발생하는 것은 아니며 여러 가지 원인에 의해
발생할 수 있습니다. (ex : 클라이언트의 불안정, 너무 낮은 PC사양, 특정 프로그램과의 충돌, 하드 디스크의 스왑 등)
이러한 '잔 랙' 현상에 대해서는 클라이언트의 원활한 환경도 중요하지만 일부 저사양 PC에서도 최적화된 클라이언트
환경을 구축하는 것이 중요하고 사이퍼즈는 동기화 개선 작업과 함께 지속적으로 클라이언트 안정화 작업도 함께
진행하고 있습니다.
이른바, '잔 랙'이라고 느끼는 프리징 현상이 발생하면 클라이언트 간 물리 계산이 어긋나는 상황이 발생할 수 있고
이러한 문제들이 지속되면 순간순간 위치랙이 발생하는 것과 비슷한 불편함을 능력자가 겪게 되기 때문입니다.
지난 6월에 11일에 적용된 '인게임 UI 이미지 최적화'가 대표적인 '잔 랙' 개선을 위한 작업이었습니다.
이 작업 결과로 클라이언트의 프레임이 안정적으로 상승하는 효과를 가져왔습니다.
(내부 데이터의 일부를 그대로 발췌하여 공개하는 것으로 정확한 수치는 비공개인 점 이해 부탁드립니다.)
[해당 그래프는 기간에 따라 클라이언트의 평균 프레임을 뜻합니다.]
8월 6일에는 서버와 관련된 작업 이외에도 클라이언트의 주요 2차 작업으로 '스크립트 최적화를 통한 잔 랙 완화'가
적용됩니다. 이 업데이트가 적용되면 조금 더 원활한 환경에서 사이퍼즈를 즐기실 수 있으리라 생각합니다.
(이 작업은 동기화 개선 작업과 다른 부분이지만, 조금이라도 더 원활한 사이퍼즈 환경을 제공하고자 하는 클라이언트 파트장님의 노력으로 진행되었습니다. ^^;)
가상화 작업이 진행되면서 철거반, 센티넬, 트루퍼의 가상화 부분에 개선이 필요하게 되었습니다.
저희는 패킷 최적화 작업을 진행하면서 플레이가 가능한 캐릭터 이외의 다른 NPC(철거반, 센티넬, 트루퍼)의
모션이 특정 상황에서 부자연스럽게 작동하는 것을 발견하였고, 이를 개선하기 위해 조금 더 부드럽게 NPC가
이동할 수 있도록 조정합니다.
동기화 업데이트 매거진은 이번이 마지막입니다. 앞으로는 사이퍼즈에 더욱 많은 변화가 있을 예정이고
그 변화를 적용한 후, 더욱 보완해야 하는 내용들이 많을거라 생각합니다.
끝없는 게임 환경의 변화에 따라 서버, 클라이언트의 또한 발맞춰 개선해 나가야 하는 것은 당연하다고 생각합니다.
저희는 능력자 여러분이 더욱 쾌적한 환경에서 사이퍼즈를 즐길 수 있도록 끝없이 노력하겠습니다.
동기화 개선 연재 매거진은 이번이 마지막이지만 동기화 개선을 위한 노력은 계속될 것이며,
중요한 업데이트가 있을 경우 업데이트 노트 또는 추가 매거진으로 찾아뵙겠습니다.
고맙습니다!