web-dev-qa-db-ja.com

ブラウザでWebGLを有効にする方法

ShadertoyWebGL Earth などのWebGLベースのサイトを使用できるようにしたいのですが、それらのサイトから教えてもらえますそのWebGLは私のブラウザでは無効になっています。有効にする方法

105
TachyonVortex

この回答をコミュニティWikiの投稿にしました。古い情報や欠落している情報に気付いた場合は、更新してください。


WebGLのブラウザーサポート

caniuse.com/webgl をチェックして、ブラウザがWebGLをサポートしているかどうかを確認します。


WebGLを有効にする

ブラウザがWebGLをサポートしている場合は、次の手順に従って有効にします

Chrome

まず、ハードウェアアクセラレーションを有効にします。

  • chrome://settingsに移動します
  • ページの下部にある詳細▼ボタンをクリックします
  • Systemセクションで、利用可能な場合はハードウェアアクセラレーションを使用するチェックボックスがオンになっていることを確認しますチェック済み(変更を有効にするにはChromeを再起動する必要があります)

次に、WebGLを有効にします。

  • chrome://flagsに移動します
  • WebGLを無効にするがアクティブになっていないことを確認します(変更を有効にするには、Chromeを再起動する必要があります)
  • 新しいバージョンでは、このオプションWebGLを無効にするは使用できません。代わりに、次のようなWebGL 2.0(または別のバージョン)を検索する必要があります。この:

    enter image description here

    ここで、ドロップダウンでDefaultEnabledに変更する必要があります。

  • [上記が機能しない場合はこれを試してください]有効- ソフトウェアレンダリングリストを上書き

次に、WebGLのステータスを調べます。

  • chrome://gpuに移動します
  • Graphics Feature StatusリストのWebGL項目を調べます。ステータスは次のいずれかになります。
    • ハードウェアアクセラレーション— WebGLは有効であり、ハードウェアアクセラレーション(グラフィックカードで実行)。
    • ソフトウェアのみ、ハードウェアアクセラレーションは使用不可— WebGLは有効ですが、ソフトウェアで実行されています。詳細については、 here を参照してください。「WebGLのソフトウェアレンダリングの場合、Chromeは SwiftShader 、ソフトウェアGLラスタライザーを使用します。」
    • Unavailable— WebGLはハードウェアまたはソフトウェアでは使用できません。

ステータスが "ハードウェアアクセラレーション"でない場合、Problems Detectedリスト(グラフィックス機能ステータスリスト)は、ハードウェアアクセラレーションが利用できない理由を説明する場合があります。

グラフィックカード/ドライバーがブラックリストに登録されている場合、ブラックリストを上書きできます。 警告:これは推奨されません!(以下のブラックリストの注意を参照)。ブラックリストを上書きするには:

  • chrome://flagsに移動します
  • ソフトウェアレンダリングリストのオーバーライド設定を有効にします(変更を有効にするには、Chromeを再起動する必要があります)

詳細については、 Chromeヘルプ:WebGLおよび3Dグラフィックス を参照してください。

Firefox

まず、WebGLを有効にします。

  • about:configに移動します
  • webgl.disabledを検索
  • その値がfalseであることを確認してください(Firefoxを再起動せずに、すべての変更がすぐに有効になります)

次に、WebGLのステータスを調べます。

  • about:supportに移動します
  • GraphicsテーブルのWebGL Renderer行を調べます:
    • ステータスにグラフィックスカードの製造元、モデル、およびドライバーが含まれている場合(例: "NVIDIA Corporation-NVIDIA GeForce GT 650M OpenGL Engine")、WebGLが有効になっています。
    • ステータスが "未解決のドライバーの問題のためにグラフィックスカードでブロックされている"または "グラフィックスドライバーバージョンでブロックされています"、グラフィックカード/ドライバーがブラックリストに登録されます。

グラフィックカード/ドライバーがブラックリストに登録されている場合、ブラックリストを上書きできます。 警告:これは推奨されません!(以下のブラックリストの注意を参照)。ブラックリストを上書きするには:

  • about:configに移動します
  • webgl.force-enabledを検索
  • trueに設定します

(Chromeと同様、Firefoxには利用可能な場合はハードウェアアクセラレーションを使用するチェックボックス、Preferences>高度な>一般>Browsing。ただし、Chromeとは異なり、FirefoxではWebGLが機能するためにこのチェックボックスをオンにする必要はありません。)

サファリ

  • SafariのPreferencesに移動します
  • Advancedタブを選択します
  • メニューバーに開発メニューを表示チェックボックスがチェックされていることを確認してください
  • SafariのDevelopメニューで、Experimental Featuresサブメニューを選択し、 WebGL 2.0がチェックされます

ノート

グラフィックドライバーのアップグレード

グラフィックドライバーが古すぎてWebGLをサポートできない場合は、アップグレードできる場合があります。

詳細については、次を参照してください。

ブラックリスト

一部のグラフィックカードとドライバーは、深刻なバグが含まれているかクラッシュを引き起こすことが知られているため、一部のブラウザーでブラックリストに登録されています。非常に深刻な場合、これらはコンピューター全体をフリーズさせることさえあります!たとえば、 この問題 を使用すると、特定のMacコンピューターがフリーズし、再起動が必要になります。

多くのブラウザには、ブラックリストを上書きするオプションがあります(つまり、リスクにもかかわらず、ブラックリストに記載されている機能を使用しようとします)。 これは推奨されません!リスクを理解して受け入れる場合にのみ、ブラックリストを上書きしてください。

詳細については、次を参照してください。

186
TachyonVortex

Chromeでは非常に便利です。ただし、WebGLを無効にするオプションを明確にするのが最善の場合がありますが、これはChromeでは明白ではありません。

[WebGLを無効にする]オプションは無効にする必要があります(urgh - double negative)。つまり、次のリンクでは[有効]と表示されている必要があります。

アンディ

1
AndyS