【发布时间】:2017-05-05 14:50:42
【问题描述】:
原贴here。
我的印象是 WebGL 几乎可以在任何桌面设备上的 Chrome 上运行,但在某些情况下它可能会退回到软件渲染(假设您在获取上下文时没有传递 failIfMajorPerformanceCaveat=true)。然而,在实践中,对于 Mac 和 Windows 上的大量用户(尤其是但不限于在某种托管企业 IT 系统中的用户)而言,这似乎并非如此。
据我所知,在 Chrome 中禁用 WebGL 的所有硬件/设置上,可以使用不同的浏览器(FF,甚至 IE11)运行它。我相信 IE11 只使用软件,FF 对 GPU 的黑名单可能不那么严格,但这并不能解释为什么 Chrome 在硬件不可用时无法切换到软件。事实上,在某些情况下,覆盖 Chrome 中的 GPU 黑名单似乎确实有效(但可能不是一个好主意)。
首先,我可以检查一下我对情况的评估是否正确吗?其次,谁能建议如何强制软件渲染(即标志等)和/或指出我讨论这个的问题?
非常感谢任何建议 - 即使过程相当复杂,但仍然值得了解,因为它可能对我们的客户可行。
更新:
@gman 指出 Chrome 中的 Mac 上没有软件模拟,但这仍然留下了 windows 中发生了什么的问题。
更新 2:
(部分回答我自己的问题):似乎(至少在 Windows 上的 32 位 Chrome 上)如果您转到 chrome://components 并看到 SwiftShader 的版本为 0.0.0,那么只需点击更新按钮即可下载最新的 veriso,n 和嘿 presto ..它有效。不过不确定 64 位 Chrome。
更新 3:
正如@Nicloas 所说,Chrome 中的 M59(将于 2017 年 5 月/6 月发布)应该会在 Windows 和 Linux 上的 Chrome 中解决此问题,稍后会在 Mac 上解决此问题。
【问题讨论】:
-
AFAIK Chrome 的软件渲染仅适用于 Windows。有提交的错误来移植它,但它的优先级很低。 Here's one。软件渲染非常慢。对于大多数 WebGL 用例来说太慢了。
-
嗯。也许这可以解释 Mac 的问题,但我们确实也遇到了 Windows 的问题..?
标签: google-chrome webgl