webgl未使用獨立顯卡報告


0x00 楔子

最近客戶在使用我們的的三維可視化平台的時候,總是會出現瀏覽器崩潰,webgl context lost的情況。 這種請一般出現在電腦配置很低的電腦上,比如沒有獨顯,只有很小現存的集成顯卡的電腦。

但是客戶的電腦大部分都是配置還不錯,有獨立的顯卡。

image.png

經過摸索和分析,最終發現了問題所在:就是電腦根本沒有用上獨立顯卡,也就是說雖然硬件上有獨立顯卡,但是實際上三維程序還是用的集成顯卡,導致跑不動三維程序。

如何判斷三維程序是否用上了獨立顯卡呢,其實我們可以打開電腦的任務管理器,打開"性能"標簽,一般可以看到兩個GPU(Intel開頭的是集成顯卡,NVIDIA開頭的是獨立顯卡)

image.png

從圖中,可以看出 GPU0(集顯) 使用率搞到88%,而GPU1(獨顯) 使用率卻未0,表示三維應用程序未使用獨顯。

0x01 原因探究

經過測試,發現電腦不使用獨立顯卡的原因大概分為幾類:

驅動未正確安裝

獨立顯卡的驅動未安裝,或者顯卡的驅動未正確安裝,導致電腦的獨立顯卡不能使用。 可以通過電腦的設備管理器查看是否又獨立顯卡的適配器,如果沒有,多半是未有安裝顯卡驅動。

顯示器未接獨立顯卡

如果是台式機接主板自帶的VGA/DVI/HDMI都是核顯負責輸出和運算,不接獨顯的接口不能發揮任何作用。反之,接了獨顯,那么CPU核顯也會自動屏蔽不發揮作用。典型的例子就是你接了獨顯,比如N卡,只會有一個NVIDIA控制面板,而不會再出現一個英特爾核芯顯卡控制界面。

如果是筆記本的話,一般帶DP接口的一定是獨顯接口,其他接口如HDMI,VGA都是核顯輸出,但是筆記本硬性規則都是核顯負責畫面輸出,獨顯負責需要運行的3D應用程序,這是英特爾強制規定的,所以筆記本除了有N卡獨顯的NVIDIA控制面板以外,還會有英特爾核芯顯卡控制面板。值得注意的是,在6代以后的筆記本,有些bios提供了屏蔽核顯的選項,有些是可以允許自由切換,或者一些超高端的筆記本,顯卡為1070,1080甚至1080 SLI的,直接出廠就屏蔽了核顯,沒有這個核顯的需要。測試都表明,核顯在1070以上的筆記本機型,某些優化不到位的游戲會拖累獨顯性能,導致幀數下降,整體也比單獨運行獨顯幀數要稍低。

程序指定使用集顯

筆記本電腦,電腦可以同時使用集顯和獨顯。
打開電腦NVIDIA 控制面板,可以指定程序使用獨顯還是集顯,如下圖所示:

image.png

image.png

如果指定了瀏覽器,比如chrome使用集成顯卡,那么webgl也不會用到獨立顯卡。

0x02 如何解決

其實看了前面的“原因探究”,可以很方便的給出相應的解決方案。

如果未安裝顯卡驅動,就安裝顯卡驅動即可。安裝的時候,需要注意選擇正確的版本。
如果是台式機,檢查顯示器接頭是否接在獨立顯卡的接口上,如果接在集成顯卡的接口上,改變接口即可。
如果是程序指定了集顯,改成使用獨顯即可。

過程不在詳述。

0x03 結語

如果發現電腦配置不錯,但是簡單的三維應用很卡,多半是上述原因。

如果對可視化感興趣,可以和我交流,微信541002349。
關注公號“ITMan彪叔” 可以及時收到更多有價值的文章。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM