我的印象是,WebGL的应该在Chrome浏览器几乎所有的桌面设备上,但它可能会回落到在某些情况下,软件渲染下(假设你不及格failIfMajorPerformanceCaveat =真获取上下文时) 。然而在实践中,这对Mac和Windows上的大量用户(特别是,但不限于某些受管理的公司IT系统内的用户)似乎并非如此。
至于我可以告诉大家,在哪里WebGL的浏览器中禁用所有的硬件/设置,可以使用不同的浏览器(FF,甚至IE11)来运行它。我相信IE11只使用软件,而FF可能对其列入黑名单的GPU并不严格,但这并不能解释为什么当硬件不可用时Chrome无法切换到软件。事实上,在某些情况下,在Chrome中重写GPU黑名单似乎行得通(但大概不是一个好主意)。
所以,首先,我可以检查我对形势的判断是正确的?其次,任何人都可以建议如何强制软件渲染(即标志等)和/或指出我在讨论这个问题?
任何意见将是非常赞赏 - 即使过程相当复杂它仍然是值得了解的,因为它可能是可行的为我们的客户。
更新:
@gman指出,有Mac电脑上的Chrome没有软件仿真,但仍有在Windows这是怎么回事的问题。
更新2:
(部分地回答我的问题):看来(至少在Windows上的32位浏览器),如果你去chrome://components
看看SwiftShader是0.0.0
版本,然后只需打更新按钮应该下载最新的veriso,n和hey presto ..它的作品。虽然不确定64位Chrome。
更新3:
由于@Nicloas说,M59在Chrome(以5/6月2017年发布)应该可以解决这个问题,在Chrome在Windows和Linux,与Mac后来以下。
AFAIK Chrome的软件渲染仅适用于Windows。有一些错误提交给它,但它的优先级低。 [这是一个](https://bugs.chromium.org/p/chromium/issues/detail?id=160392)。软件渲染速度非常慢。对于大多数WebGL用例来说太慢了。 – gman
嗯。也许这解释了Mac的问题,但我们也有Windows的问题..? –