작성
·
331
0
컴퓨터로 공부할때는 문제가 없었는데,
8년전에 산 노트북으로 작업할때 이상하게 _device가 초기화되지 않는 문제를 알게되었습니다.
정확히 문제가 되는 지점은 Device의 Init함수에서
::D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&_device));
이 부분이 실행되어 Device가 만들어져서 _device에 정보가 들어가야하는데 저의 노트북에서 자꾸 0x00000000 으로 나오면서 생성되지 않는것을 알게되었습니다.
혹시 오래된 노트북이 그래픽카드 문제로 DirectX12를 지원하지 않으면 프로그램 개발도 안되는건가, 싶어서 구글링을 해보니, 제 노트북 그래픽카드는 삼성노트북의 내장 그래픽으로 intel Graphics 4000인데, DirectX11 까지 지원한다고 나와있더군요.
그래서 ::D3D12CreateDevice 함수가 제대로 실행되지 않은 이유가 그래픽카드 자체에서 DirectX12 라이브러리를 참조할 수 없기 때문에 그런건지 궁금합니다.
제가 생각한대로 각 컴퓨터의 그래픽카드 사양이 만약 DirectX12를 지원하지 못한다면, 프로그램 개발도 안되는건가요?
DirectX12를 지원하지 않는 그래픽카드는 ::D3D12CreateDevice 함수를 사용할 수 없다는 생각이 맞는건가요?
(저는 바보처럼, 프로그램 개발은 그래픽카드에 영향을 딱히 안받을줄 알고 있었는데 그게 아닌가 무척 궁금합니다!)
답변 1
1
네 예상하신게 맞습니다.
너무 오래된 그래픽 카드는 DX12를 지원하지 않을 수 있으니 스펙을 확인해야 합니다.
반면 서버 쪽은 CPU만 사용하기 때문에 느리더라도 느린대로 개발이 가능합니다.