-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
Broadcast 에 대해 질문 있습니다
21.11.16 18:42 작성 조회수 108
0
void GameSessionManager::Broadcast(SendBufferRef sendBuffer)
{
WRITE_LOCK;
for (GameSessionRef session : _sessions)
{
session->Send(sendBuffer);
}
}
만약 사용자가 엄청 많이 접속해 Session 도 그만큼 증가 하게 되었고,
모든 사용자가 위치동기화를 위해 나의 위치를 Broadcast 를 통해 실시간으로 지속해야 하는 상황에서 위 코드에서 WRITE_LOCK 때문에 병목현상이 일어날 수 있지 않을까 ? 라는 생각을 해봤습니다.
만약 일어날 경우, 이런부분을 조금이나마 해결할 수 있는 방법은 무엇이 있을까요 ?
그렇지 않은 경우, 제가 학습에서 놓친 부분은 어떤 부분이 있을까요 ?
답변을 작성해보세요.
2
Rookiss
지식공유자2021.11.16
관련된 주제가 JobQueue에서 내옵니다.
그리고 실제로 유저가 몰리면 부하가 급격히 상승합니다.
사실 MMO에서 중요한건 '동접'이 아니라
같은 지역에 몇 명이 모여있느냐? 가 핵심입니다.
답변 1