2017-05-05 63 views
0

原帖hereChrome中的WebGL软件回退没有被使用

我的印象是,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后来以下。

+0

AFAIK Chrome的软件渲染仅适用于Windows。有一些错误提交给它,但它的优先级低。 [这是一个](https://bugs.chromium.org/p/chromium/issues/detail?id=160392)。软件渲染速度非常慢。对于大多数WebGL用例来说太慢了。 – gman

+0

嗯。也许这解释了Mac的问题,但我们也有Windows的问题..? –

回答

1

引用我自己的答案从[email protected]

我很高兴地告诉你,随着Chrome浏览器即将发布M59,我们已经整合SwiftShader在情况下,提供了无缝的WebGL支持回退GPU被列入黑名单。

我们以前只用SwiftShader作为一个单独下载组件,它确实不会对企业管理系统的工作,以及所需重新启动浏览器。整合SwiftShader只有在开源并大幅减少二进制大小之后才可能实现。

可以使用Chrome Canary版或测试版,并指定--disable GPU的推出标志今天测试它在Windows上。 Linux也应该可以工作,但这些库错误地不作为测试版包的一部分发布,我们希望在下一次更新中并且在它到达Stable频道之前将其纠正。我们还没有开始整合Mac OS X的支持,因为Chrome在这方面的工作有很大的不同,但它在我们的视线中。

+0

感谢您的快速回答,并感谢您的基础工作! (我不能在24小时内奖赏赏金)。看起来M59将会在4周左右(对我的用户来说可能是好的),但是我可以检查'chrome://中的更新按钮组件“可能会在此期间工作?我发现至少有一个案例(在browserstack),它的工作。 –

+0

只有32位组件曾经服务过,所以64位版本的Chrome没有得到SwiftShader。我们可以添加一个64位组件,但决定集中精力为每个人创建完全无缝的后备支持。它将M59推向32位和64位Windows和Linux,Mac OS X应该不会太落后。 –