私のGPUはNVIDIAGeForce 8400GSです。 NVIDIAによる 、
OpenGL®2.1の最適化とサポート:
OpenGLアプリケーションの最高の互換性とパフォーマンスを保証します。
私が正しく理解していれば、それはWebGLをサポートしていることを意味します。
WebGLは、FirefoxでネイティブおよびANGLEを介して動作します。 https://get.webgl.org/ にアクセスすると、
お使いのブラウザはWebGLをサポートしています
ただし、Chrome
お使いのブラウザはWebGLをサポートしているようですが、無効になっているか利用できません
Use hardware acceleration when available
が有効になっていて、chrome://flags/#disable-webgl
が無効になっていることを確認しました。
chrome://gpu/
に行くと、Chrome
WebGL:利用できません
検出された問題
- GPUプロセスを起動できませんでした:GPUプロセスの起動に失敗しました。
無効な機能:すべて- ドライバーのバグを回避するために、リンクが成功した後は常にglUseProgramを呼び出してください: 49137
適用される回避策:use_current_program_after_successful_link- 一部のドライバーは、GPUプロセスサンドボックスでD3Dデバイスをリセットできません
適用される回避策:exit_on_context_lost- WindowsVista以下でDirect3D11の使用を無効にする
適用される回避策:disable_d3d11- すべてのプラットフォームで最初のプログラムを使用する前にユニフォームをクリアします: 124764 、 49137
適用される回避策:clear_uniforms_before_first_program_use- 古いnVidiaドライバーでD3D11を無効にします: 49929
適用される回避策:disable_d3d11- 常にvec/matコンストラクターを一貫性のあるものに書き直してください: 98694
適用される回避策:scalarize_vec_and_mat_constructor_args- ラスターは単一のスレッドを使用しています。
無効な機能:multiple_raster_threads
chrome://flags/#ignore-gpu-blacklist
を有効にしてみましたが、何も変わりませんでした。
私のOSはWindows XP Home SP3です。同じマシンにLubuntu15.04もあり、ハードウェアアクセラレーションを有効にすると動作します。
XPでそれを有効にする方法はありますか?
XPではGPUレンダリングが削除されているため、理論的にはWebGLを使用することはできません。
WebGLは ビルド29194 (v39.0.2138.0)で機能しましたが、 ビルド291976 (v39.0.2138.0)で削除されました。
changelog には犯人が含まれています commit :
D3dcompiler_43.dllの使用を削除します。
これは、現在ブラックリストに登録されているWindowsXPでのGPUレンダリングにのみ使用されていました。
BUG = 407177
レビューURL: https://codereview.chromium.org/506633002
事実上、ビルド291976にはd3dcompiler_46.dll
のみが含まれ、d3dcompiler_43.dll
は含まれません。
だから私はクレイジーなアイデアを思いついた:
そのd3dcompiler_46.dll
ファイルを ビルド29194 のd3dcompiler_43.dll
に置き換えます
これにより、 ビルド29744 (v40.0.2175.0)までWebGLが有効になります。
ただし、 ビルド297795 (バージョン40.0.2176.0)以降、再び機能しなくなります。
changelog を調べましたが、原因のコミットが見つかりませんでした。
そのlibGLESv2.dll
ファイルを ビルド29744 のlibGLESv2.dll
に置き換えます
これにより、 ビルド30384 (v41.0.2219.0)までWebGLが有効になります。
ただし、 build 303851 (v41.0.2219.0)以降、再び機能しなくなります。
そのlibEGL.dll
ファイルを ビルド30384 のlibEGL.dll
に置き換えます
これにより、 ビルド3370 (v45.0.2446.0)までWebGLが有効になります。
ただし、 build 337025 (v45.0.2446.0)以降、再び機能しなくなります。
この変更ログ を調べましたが、原因のコミットが見つかりませんでした。
WebGLは、ビルド337003のchrome.dll
、chrome.exe
、chrome_child.dll
、natives_blob.bin
、およびsnapshot_blob.bin
を置き換えることにより、ビルド337025で再度有効にできます。
しかし、それは多すぎるようです。私はそれをお勧めしません。
警告:上記の手順のいずれかを実行すると、Chromiumの動作が不安定になる可能性があります。自己責任で使用してください。
上記の手順で、「[X].dll
を[Y].dll
からbuild [N]
に置き換える」とは次のことを意味します。
[X].dll
ファイルを検索します[X].backup.dll
に変更しますbuild [N]
のポータブル(Zip)バージョンをダウンロードします[Y].dll
ファイルを抽出します[X].dll
に変更しますd3dcompiler_46.dllおよびd3dcompiler_47.dllは、BlackWingCatの非公式アップデートKB2584577を使用して、XP)で簡単に機能します。
Google this:WindowsXP-KB2584577-v0.4-x86-ENU.exe
また、WineD3Dラッパーを使用してDirect3D9Exをラップし、XPのChrome HWaccelを有効にすることもできます。