나만의 작은 도서관

[TIL] 240710 캠프 87일차: 메모리, 상태 동기화 본문

Today I Learn

[TIL] 240710 캠프 87일차: 메모리, 상태 동기화

pledge24 2024. 7. 10. 22:27

오늘 배운 내용                                     

메모리(Memory)

컴퓨터에 연산을 처리하는 CPU만 존재하게된다면, 제대로 된 사용이 불가능 할겁니다. 왜냐하면 처리를 해야할 데이터를 기억하는 장치가 존재하지 않기 때문이죠. 물론 CPU내부에 레지스터라는 메모리가 존재하기는 합니다만, 레지스터는 기억 장치에서 가져온 데이터를 임시로 저장하는 장치일 뿐 데이터를 영구적으로 저장하는 역할이 아닙니다. 따라서, 계산을 위한 여러 데이터들을 기억하는 "메모리"가 필요한 것입니다. 대표적으로 CPU가 접근하는 메모리 RAM이 있습니다.

 

자세한 내용은 아래 링크에 정리해두었다.

https://pledge24.tistory.com/314

 

[컴퓨터 구조] #2. 메모리(Memory)

메모리 컴퓨터에 연산을 처리하는 CPU만 존재하게된다면, 제대로 된 사용이 불가능 할겁니다. 왜냐하면 처리를 해야할 데이터를 기억하는 장치가 존재하지 않기 때문이죠. 물론 CPU내부에 레지

pledge24.tistory.com

 

상태 동기화(state synchronization)

게임 내 다양한 ​​상태들을 동기화하기 위해 클라이언트는 서버에 작업을 업로드하고, 서버는 결과를 계산하여 게임 내 다양한 ​​상태를 브로드캐스트합니다. 클라이언트가 해당 상태를 수신한 후 상태에 따라 콘텐츠를 표시합니다. 상태 동기화는 턴제 게임에서 널리 사용되는데, 여기서의 상태 동기화는 느슨한(loose) 동기화입니다. 여기서는 다른 플레이어들의 행위들이 화면상에서 일관성을 가지는 것이 그리 중요해 보이지 않습니다.

따라서, 상태 동기화는 높은 네트워크 지연을 필요로 하지 않습니다. (일관성이 중요해질수록 높은 딜레이는 요구하기 때문)  예를 들어, RPG 게임에서는 200-300ms의 지연도 허용 가능합니다. 반면에 RTS 게임에서는 50ms의 지연도 눈에 띄게 됩니다. 이동 중일 때 50ms의 지연이 발생하면, 이를 해결하기 위해 클라이언트 B는 로컬에서 약간의 부드러운 처리를 통해 이동을 정상적으로 보이게 해야 합니다. 상태 동기화 게임에서는 공격이 끝난 후에 피해가 표시되는 경우가 많은데, 이는 특수 효과 애니메이션을 통해 서버 계산이 완료될 때까지 기다려야 하기 때문입니다.

 

오늘 한 일                                       

더보기
  • 메모리 글 포스팅