복습중에 커맨드 큐 관련 질문이 있습니다.
33
1 asked
강의를 복습하면서 DX12 코드를 새로 처음부터 다 짜보고 있는데요. 강의에서는 커맨드 큐가 그래픽스 큐와 컴퓨터 큐로 나뉘어 있고 그래픽스 큐에서 리소스 데이터 카피와 렌더링을 커맨드 리스트 두개로 나누어서 처리하고 있는데 검색을 해보니 카피랑 렌더링은 각각의 의 큐로 나누어서 하는게 더 좋다고 하는데 굳이 세개(rendering, copy, compute)로 안한 이유가 있을까요? 아니면 이해를 위해 간단하게 구현한 부분일까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. 유은성님.
DirectX12의 커맨드 큐에서는 작업을 병렬로 처리할 수 있는 여러 종류의 큐가 있습니다. 그래픽스 큐, 컴퓨트 큐, 그리고 카피 큐 등이 있으며, 각각의 큐는 다른 유형의 작업에 최적화되어 있습니다. 질문하신 대로 일반적으로는 각각의 작업을 대응되는 큐에 할당하여 성능을 극대화하는 것이 좋습니다. 그러나 강의에서는 학습의 용이성을 위해 두 개의 큐로만 설명한 것으로 보입니다.
여기서 핵심은 리소스를 옮기거나 렌더링을 할 때 그래픽스 큐는 다양한 작업을 동시에 할 수 있기 때문에 처음에는 간단하게 작업을 관리하다가 필요에 따라 최적화하는 것이 일반적입니다. 처음부터 모든 큐를 사용하여 복잡하게 구성하기보다는, 작업의 흐름을 이해한 후에 이들 큐를 최적화하는 방향으로 발전시키는 것이 더 도움이 될 수 있습니다.
참고로, 비슷한 맥락에서 커맨드 큐의 활용과 관련된 답변을 확인해보실 수 있는 링크를 첨부합니다. 이를 통해 큐의 사용 전략에 대해 더 깊이 있게 이해할 수 있을 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
_vsBlob와 _psBlob에서 nullptr이 뜨면서 실행이 안됩니다
0
56
1
#include d3dx12.h 추가했지만 오류
0
81
1
LNK1104 error, DirectXTexD.lib 파일을 열 수 없습니다.
0
122
1
[DirectXTex LNK2019 에러]
0
243
2
UI 랜더링이 이해가 안되어 질문드립니다
0
175
1
insideTess 값 관련 질문
0
125
1
렌더 타겟을 SRV로 사용하려고 합니다.
0
181
1
C++ 언어 표준과 Engine.lib 오류에 관하여..
0
280
2
실행과정에서의 문제
0
393
3
결과물에 의문이 생겨서 한가지 질문 드립니다
0
147
1
uv좌표변환
0
147
1
Shader 관련 문제
0
222
1
Load 부분에서 문제가 있어 질문드립니다
0
162
1
강의에서 보여진 모습과 다른모양이 되어서 질문드립니다
0
173
1
enumclass 질문입니다
0
152
1
nullptr오류가 발생해요.
0
362
2
Normal Mapping / Assertion failed! 오류
0
219
1
1>LINK : fatal error LNK1104: 'Engine.lib' 파일을 열 수 없습니다.
0
429
2
shared_ptr 과 헤더파일 관련하여 질문있습니다
0
206
1
질문있습니다.
0
176
1
장치 초기화 nullptr이 자꾸 발견 되네요.
0
299
2
용 모델에 분명 Diffuse 텍스쳐가 있는것같은데 왜 적용이 안되나요?
0
251
1
안녕하세요 질문있습니다
0
203
1
DirectX11 강의 질문
0
352
1

