題 如何在瀏覽器中啟用WebGL?


我希望能夠使用像WebGL這樣的網站 ShadertoyWebGL地球等等, 但這些網站告訴我,我的瀏覽器禁用了WebGL。 我該如何啟用它?


98
2017-11-06 18:42


起源




答案:


我把這個答案作為社區維基帖子, 如果您發現任何過時或遺漏的信息,請更新。


瀏覽器支持WebGL

校驗 caniuse.com/webgl 查看您的瀏覽器是否支持WebGL。


啟用WebGL

如果您的瀏覽器支持WebGL,請按照以下說明啟用它:

首先,啟用硬件加速:

  • chrome://settings
  • 點擊 +顯示高級設置 按鍵
  • 在裡面 系統 部分,確保 可用時使用硬件加速 複選框已選中(您需要重新啟動Chrome才能使更改生效)

然後啟用WebGL:

  • chrome://flags
  • 確保這件事 禁用WebGL 未激活 (您需要重新啟動Chrome才能使更改生效)
  • 在較新的版本中,此選項 禁用WebGL 不會是 可用,你將不得不搜索WebGL 2.0(或一些 不同的版本)看起來像這樣:

    enter image description here

    在這裡你必須改變 Default 至 Enabled 在下拉。

  • [試試這個如果以上不起作用]啟用 - 覆蓋軟件渲染列表 

然後檢查WebGL的狀態:

  • chrome://gpu
  • 檢查 WebGL的 中的項目 圖形功能狀態 名單。狀態將是以下之一:
    • 硬件加速  - 啟用WebGL並硬件加速(在顯卡上運行)。
    • 僅限軟件,硬件加速不可用  - WebGL已啟用,但在軟件中運行。 看到 這裡 有關更多信息:“對於WebGL的軟件渲染,Chrome使用 SwiftShader,一個軟件GL光柵化器。“
    • 不可用  - WebGL不支持硬件或軟件。

如果狀態不是 “硬件加速”那麼 檢測到的問題 名單 (低於 圖形功能狀態 list)可以解釋為什麼硬件加速不可用。

如果您的圖形卡/驅動程序被列入黑名單,則可以覆蓋黑名單。 警告:不建議這樣做! (見下面的黑名單)。要覆蓋黑名單:

  • chrome://flags
  • 激活 覆蓋軟件渲染列表 設置 (您需要重新啟動Chrome才能使更改生效)

有關更多信息,請參閱: Chrome幫助:WebGL和3D圖形

火狐

首先,啟用WebGL:

  • about:config
  • 搜索 webgl.disabled
  • 確保其價值 false (任何更改都會在不重新啟動Firefox的情況下立即生效)

然後檢查WebGL的狀態:

  • about:support
  • 檢查 WebGL渲染器 排在 圖像 表:
    • 如果狀態包含圖形卡製造商,型號和驅動程序 (例如: “NVIDIA公司 - NVIDIA GeForce GT 650M OpenGL引擎”) 然後啟用WebGL。
    • 如果狀態是這樣的 “因未解決的驅動程序問題導致顯卡被屏蔽” 要么 “因圖形驅動程序版本而被阻止”, 然後你的顯卡/驅動程序被列入黑名單。

如果您的圖形卡/驅動程序被列入黑名單,則可以覆蓋黑名單。 警告:不建議這樣做! (見下面的黑名單)。要覆蓋黑名單:

  • about:config
  • 搜索 webgl.force-enabled
  • 將其設置為 true

(就像Chrome一樣,Firefox也有 可用時使用硬件加速 複選框, 在 喜好 > 高級 > 一般 > 瀏覽。但是,與Chrome不同, Firefox不要求選中此復選框以使WebGL正常工作。)

蘋果瀏覽器

  • 去Safari吧 喜好
  • 選擇 高級 標籤
  • 確保 在菜單欄中顯示“開發”菜單 複選框已選中
  • 在Safari中 開發 菜單,選擇 實驗特點 子菜單並確保 WebGL 2.0 被檢查

筆記

升級圖形驅動程序

如果您的圖形驅動程序太舊而無法支持WebGL,則可以升級它們。

更多信息請點擊這裡:

黑名單

某些瀏覽器將某些圖形卡和驅動程序列入黑名單, 因為他們知道包含嚴重的錯誤或導致崩潰。 在非常嚴重的情況下,這些甚至可能導致整個計算機凍結! 例如, 這個問題 導致某些Mac計算機凍結並需要重新啟動。

許多瀏覽器都可以選擇覆蓋黑名單 (即:嘗試使用列入黑名單的功能,儘管存在風險)。 不建議這樣做! 您應該只覆蓋黑名單 如果你理解並接受風險。

更多信息請點擊這裡:


179
2017-07-02 12:28



對於Firefox,在Ubuntu上,我也不得不重置 gfx.crash-guard.status.glcontext (見 sourceforge.net/p/x3dom/mailman/message/34731616)。我希望在對此社區答案進行任何編輯之前發布評論。 - ThomasG77
好吧,我有最新版本的Chrome(版本57.0.2987.133(64位))。但是在chrome:// flags我更改了“WebGL 2.0 ...允許Web應用程序訪問WebGL 2.0”以啟用,有一個用於“WebGL Draft Extensions”我獨自離開了。然而仍然在chrome:// gpu兩個版本仍然不可用,你提到視頻驅動程序,我怎麼知道我的支持與否?我有英特爾NUC DCCP847DYE - Edward
剛試過去 webglearth.com在kubuntu 16.04。它在Firefox 54和Vivaldi 1.10沒有任何變化的情況下運行良好。 ......事情確實會變得更好。 - Joe
奇怪的是,在Firefox 56(目前是一個夜間版本)中,WebGL不起作用,即使它如上所述都顯示OK。嗯。 - mlissner
似乎是 webgl.* 火狐 選項 記錄很差。這些都意味著什麼? 這裡 是一些額外的選擇。 - not2qubit


對Chrome非常有用 - 除了最好澄清一下禁用WebGL選項 - 這在Chrome中並不明顯。

禁用WebGL選項必須已被禁用(urgh - 雙重否定),即下面的鏈接必須說“啟用” - 這意味著禁用webGL已關閉...可能會節省幾分鐘。

最好的祝愿   安迪


1