강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

유은성님의 프로필 이미지
유은성

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12

섹션 12 퀴즈

복습중에 커맨드 큐 관련 질문이 있습니다.

작성

·

24

0

강의를 복습하면서 DX12 코드를 새로 처음부터 다 짜보고 있는데요. 강의에서는 커맨드 큐가 그래픽스 큐와 컴퓨터 큐로 나뉘어 있고 그래픽스 큐에서 리소스 데이터 카피와 렌더링을 커맨드 리스트 두개로 나누어서 처리하고 있는데 검색을 해보니 카피랑 렌더링은 각각의 의 큐로 나누어서 하는게 더 좋다고 하는데 굳이 세개(rendering, copy, compute)로 안한 이유가 있을까요? 아니면 이해를 위해 간단하게 구현한 부분일까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 유은성님.

DirectX12의 커맨드 큐에서는 작업을 병렬로 처리할 수 있는 여러 종류의 큐가 있습니다. 그래픽스 큐, 컴퓨트 큐, 그리고 카피 큐 등이 있으며, 각각의 큐는 다른 유형의 작업에 최적화되어 있습니다. 질문하신 대로 일반적으로는 각각의 작업을 대응되는 큐에 할당하여 성능을 극대화하는 것이 좋습니다. 그러나 강의에서는 학습의 용이성을 위해 두 개의 큐로만 설명한 것으로 보입니다.

여기서 핵심은 리소스를 옮기거나 렌더링을 할 때 그래픽스 큐는 다양한 작업을 동시에 할 수 있기 때문에 처음에는 간단하게 작업을 관리하다가 필요에 따라 최적화하는 것이 일반적입니다. 처음부터 모든 큐를 사용하여 복잡하게 구성하기보다는, 작업의 흐름을 이해한 후에 이들 큐를 최적화하는 방향으로 발전시키는 것이 더 도움이 될 수 있습니다.

참고로, 비슷한 맥락에서 커맨드 큐의 활용과 관련된 답변을 확인해보실 수 있는 링크를 첨부합니다. 이를 통해 큐의 사용 전략에 대해 더 깊이 있게 이해할 수 있을 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

유은성님의 프로필 이미지
유은성

작성한 질문수

질문하기