我目前正在OpenGL中編寫3D模型渲染器。不幸的是,它會導致圖形驅動程序崩潰,當我告訴它渲染超過幾個VBO
s。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?
我有一個單一的VBO,大約500KB的,我只能使一小部分(只有模型的幾個網格)。但是,超過20個(71個),它會死亡。我的電腦只有一年 - 聯想Y570與NVidia 555M與所有驅動程序最新等
我使用glDrawElementsBaseVertex
(即可編程管道),雖然這個問題只發生,如果我不使用着色器程序。一旦我添加着色器,問題就會消失。然而,我仍然想知道爲什麼我的程序運行時,如果它的工作量非常小,但會導致GPU在出現更高要求時出錯(「更多」甚至不是250KB)。這似乎與程序崩潰並給我一個錯誤非常不同。
編輯:代碼在glDrawElementsBaseVertex
上崩潰,但不會在我的嵌入式英特爾圖形上運行,因爲它對OpenGL的支持不包括我的程序的其他方面。我的NVidia驅動程序是9.18.13.697。
我不是100%確定,但超時限制可能是Windows允許任何程序渲染單個幀的3秒。但是,您的500KB VBO可能會在幾毫秒內呈現,不是嗎? – Calvin1602
是的,我讀的是2或3秒。我只是不知道背景中發生了什麼,使它變得如此緩慢。 – GraphicsMuncher
問NSight:https://developer.nvidia.com/nvidia-nsight-visual-studio-edition – Calvin1602