현재 OpenGL에서 3D 모델 렌더러를 코딩 중입니다. 불행히도, 그래픽 드라이버가 약간 VBO
이상을 렌더링하라고 말하면 충돌이 발생합니다. 여기 NVIDIA OpenGL 드라이버 연결 끊김
The NVIDIA OpenGL driver lost connection with the display driver
due to exceeding the Windows Time-Out limit and is unable to
continue.
The application must close.
Error code: 7
Would you like to visit
http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_adp.ph
p?p_faqiq=3007 for help?
내가 500킬로바이트 주위의 단일 VBO를 가지고 있고, 나는 단지 그것의 작은 부분 (모델의 몇 메쉬)를 렌더링 할 수 있습니다. 그러나 약 20 명 (71 명 중) 이상이 사망합니다. 내 컴퓨터는 1 년 전인 NVIDIA 555M이 장착 된 Lenovo Y570과 최신 드라이버가 모두 포함되어 있습니다.
glDrawElementsBaseVertex
(프로그래밍 가능한 파이프 라인)을 사용하고 있습니다. 사용하지 않으면이 문제가 발생합니다. 셰이더 프로그램. 셰이더를 추가하면 문제가 사라집니다. 그러나, 나는 여전히 내 프로그램이 매우 작은 워크로드를 가지고있는 이유를 알고 싶지만 GPU가 더 까다로워 질 때 (더 많은 것은 250KB가 아닌) 오류가 발생하게 만든다. 이것은 프로그램과 충돌하여 오류가 발생하는 것 같습니다.
편집 :이 코드는 glDrawElementsBaseVertex
에서 충돌하지만 OpenGL에 대한 지원이 내 프로그램의 다른 측면을 다루지 않기 때문에 내장 된 Intel 그래픽에서 실행되지 않습니다. 내 NVidia 드라이버는 9.18.13.697입니다.
100 % 확신 할 수는 없지만 Windows에서 모든 프로그램이 단일 프레임을 렌더링하도록 허용하는 시간 제한은 아마 3 초입니다. 하지만 귀하의 500KB VBO는 아마 몇 밀리 초 이내에 렌더링됩니다, 안 그래? – Calvin1602
그래, 내가 읽은 것보다 2 ~ 3 초. 나는 천천히 진행하기 위해 백그라운드에서 진행되는 일을 단지 모릅니다. – GraphicsMuncher
Ask NSight : https://developer.nvidia.com/nvidia-nsight-visual-studio-edition – Calvin1602