我的 GPU 是 NVIDIA GeForce 8400 GS。根据 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 以避免驱动程序错误:349137
应用解决方法:use_current_program_after_successful_link- 某些驱动程序无法在 GPU 进程沙箱中重置 D3D 设备
应用解决方法:exit_on_context_lost- 在 Windows Vista 及更低版本上禁用 Direct3D 11
应用解决方法:disable_d3d11- 在所有平台上第一次使用程序之前清除制服:124764,349137
应用解决方法:clear_uniforms_before_first_program_use- 在较旧的 nVidia 驱动程序上禁用 D3D11:349929
应用解决方法:disable_d3d11- 始终重写 vec/mat 构造函数以保持一致:398694
应用解决方法:scalarize_vec_and_mat_constructor_args- Raster 正在使用单线程。
禁用功能:multiple_raster_threads
我尝试启用chrome://flags/#ignore-gpu-blacklist
,但没有任何变化。
我的操作系统是 Windows XP Home SP3。在同一台机器上,我还有 Lubuntu 15.04,只要启用硬件加速,它就可以运行。
有没有办法在 XP 上启用它?
答案1
XP 中已经删除了 GPU 渲染,因此理论上不可能有 WebGL。
WebGL 的工作方式内部版本 291943(v39.0.2138.0),但在内部版本 291976(v39.0.2138.0)。
删除 d3dcompiler_43.dll 的使用。
它仅用于 Windows XP 上的 GPU 渲染,现已被列入黑名单。
错误=407177
评论网址:https://codereview.chromium.org/506633002
实际上,版本 291976 仅包含d3dcompiler_46.dll
,但不包含d3dcompiler_43.dll
。
于是我有了一个疯狂的想法:
- 安装新版本的 Chromium(不带 WebGL)
用以下
d3dcompiler_46.dll
文件替换d3dcompiler_43.dll
内部版本 291943这将启用 WebGL,直到内部版本 297440(v40.0.2175.0)。
然而,它再次停止工作,因为内部版本 297795(版本 40.0.2176.0)。
我看了看变更日志但找不到罪魁祸首。
用以下
libGLESv2.dll
文件替换libGLESv2.dll
内部版本 297440这将启用 WebGL,直到内部版本 303843(v41.0.2219.0)。
然而,它再次停止工作,因为内部版本 303851(v41.0.2219.0)。
用以下
libEGL.dll
文件替换libEGL.dll
内部版本 303843这将启用 WebGL,直到内部版本 337003(v45.0.2446.0)。
然而,它再次停止工作,因为内部版本 337025(v45.0.2446.0)。
我看了看这个变更日志但找不到罪魁祸首。
从版本 337003 开始,可以通过替换
chrome.dll
、chrome.exe
、chrome_child.dll
和在版本 337025 中再次启用 WebGL 。natives_blob.bin
snapshot_blob.bin
但是,这似乎太过分了。我不建议这样做。
警告:执行上述任何步骤都可能导致 Chromium 行为不可靠。使用时请自担风险。
上述步骤中,“替换[X].dll
为[Y].dll
from build [N]
”的意思是:
[X].dll
在 Chromium 的安装文件夹中搜索文件- 如果没有该文件,则转至步骤4
- 否则,将文件重命名为
[X].backup.dll
- 下载链接的便携版(ZIP)
build [N]
[Y].dll
从下载的 ZIP 中提取文件- 将解压的文件重命名为
[X].dll
- 将该文件移动到 Chromium 的安装文件夹中
答案2
使用 BlackWingCat 的非官方更新 KB2584577,d3dcompiler_46.dll 和 d3dcompiler_47.dll 可以轻松在 XP 上运行。
谷歌搜索:WindowsXP-KB2584577-v0.4-x86-ENU.exe
我们还可以使用 WineD3D 包装器来包装 Direct3D9Ex,以便为 XP 启用 Chrome 硬件加速。