하나의 GPU에서 데스크탑 복제 API를 사용하여 데스크탑을 캡처하고 GPU 메모리에있는 텍스처를 다른 GPU로 복사해야합니다. 이렇게하려면 데스크톱 이미지를 가져 와서 ID3D11DeviceContext :: CopyResource를 사용하여 동일한 장치에서 생성 된 준비 리소스로 복사하는 캡처 스레드가 있습니다. 그런 다음 해당 준비 리소스를 읽기와 매핑하고 대상 동적 리소스 (다른 장치에서 생성 된)를 WriteDiscard로 매핑하고 데이터를 복사합니다. 렌더링 스레드에서 ID3D11DeviceContext :: CopyResource를 동적 텍스처에서 최종 렌더링 대상으로 처리합니다.DirectX 11의 어댑터를 통해 텍스처 전송하기
이 작동하지만 잠시 후 (일반적으로 30 초 이내에) nvwgf2umx.dll (예외 코드 : 0xc0000005)에서 임의의 충돌이 발생합니다. 두 장치는 SingleThreaded 작성 플래그없이 작성됩니다. 나는 약간의 연구를했고 using a dynamic texture은 이것을 수행하는 가장 좋은 방법처럼 보였다.
크래시의 원인에 대한 아이디어가 있습니까? Nvidia 드라이버의 버그 일 수 있습니까?
최신 릴리스를 읽었을 때 오류가 해결되었습니다. 그것은 nVidia Driver 업데이트를 통해 마술 이었습니까? 아니면 코드에서 다른 방식으로 처리 했습니까? 이것이 어떻게 해결되었는지에 대한 업데이트는 훌륭합니다! – thewhiteambit