inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동

복습 #4

RecvBuffer 관련

417

이성원

작성한 질문수 7

0

안녕하세요, RecvBuffer 관련하여 링버퍼를 사용하시지 않고 다른 방법을 이용하시던데, 강의에서 링버퍼를 별로 안 좋아한다고 얘기를 해주셨는데 이유가 있는지 궁금합니다.

 

매번 꺼낼때마다 앞쪽에 추가적인 공간이 더 있는지 확인 작업 연산이 더 들어가서 비효율적으로 느껴지긴 하네요..

c++ unreal-engine windows-server

답변 1

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 대해 답변드립니다.

링버퍼 사용에 대한 선호도는 주로 개인의 경험 및 특정 어플리케이션의 요구사항에 따라 달라질 수 있습니다. 일반적으로 링버퍼는 고정된 크기로 버퍼를 운영하면서 데이터를 순환시키는 방식을 사용하기 때문에, 주기적으로 버퍼 앞쪽의 여유 공간을 확인하고 이를 관리하는 추가적인 연산이 필요합니다. 이는 특히 멀티스레드 환경에서 동기화를 해야 할 때 오버헤드가 될 수 있습니다.

강의에서 얘기하는 비효율성은 이러한 점을 지적하는 것으로 보입니다. 특히, 대규모 데이터를 처리하고 고성능을 요구하는 어플리케이션에서는 이러한 오버헤드가 더욱 민감한 문제가 될 수 있습니다. 따라서 강의에서는 링버퍼 대신 다른 방법을 선호할 수 있으며, 이는 어플리케이션의 특징, 성능 요구사항, 개발자의 경험에 따라 달라질 수 있는 사항입니다.

항상 강의 내용을 적용하여 개발할 때는 자신의 프로젝트 요구사항에 맞게 최적의 방식을 선택하는 것이 중요합니다.

패킷 보내는 두가지 방법 질문

0

89

0

recv 할게 없어도 무한 while문을 도는데 괜찮은건가요?

0

69

2

MySQL 연동

0

63

2

잡큐단위 내부에서 잡큐호출

0

61

2

포트폴리오 작성 후 확장 방향에 대해 질문이 있어서 글을 남깁니다

0

101

2

에러코드

0

71

1

언리얼 버전

0

80

2

ProtoBuf UE 연동 문제

0

204

3

Snapshot base vs packet oriented

0

119

1

Is there official app or something that allow you watch lectures offline?

0

82

1

What is more capable of m2 c# server or cpp from episode 4?

0

102

2

워커스레드가 1개일 때 가장 빠를 수 있을까요?

1

198

2

이동동기화 관련 질문 드립니다. 추측항법 외.

0

280

1

이 시리즈 25년에 계획 있으실까요?

1

401

3

SubSystem이 궁금합니다.

0

525

2

웹서버

0

296

2

언리얼 에디터 Stop버튼

0

252

2

질문 있습니다...

0

208

2

클라이언트 강제 종료 시 플레이어 삭제 기능

0

225

1

라이브 강의 질문

0

177

1

52분에 나온 얘기..

0

244

1

게임 서버 몬스터 ai에 관해 궁금한게 있습니다.

0

385

1

파트4의 서버 파일이랑 다른건가요??

0

438

1

3D 이동 동기화

0

478

1