(问题是并非特定于three.js所但我将用它作为一个例子)
我一直在使用three.js所到最近开发一个Web应用程序接口和书面的WebGL和Canvas渲染器(用于桌面浏览器)之间的一些不错的后备。
但现在的问题变成了如何正确检测设备能力,有2个方面的问题:
- 浏览器功能 (静态功能,如WebGL的/月):这主要是网络社区内使用简单的功能检测解决。
- 设备能力 :这是最困难的部分,不直接访问设备的硬件信息,我们需要告诉我们是否应该退回到不那么苛刻的硬件代码的一些方法。
一个明显的例子 :火狐移动/歌剧移动声称支持WebGL的但是越野车或由设备硬件的限制。
一些变通办法我想出迄今:
- 使用一个共同的特点是性能指标 -触摸设备,例如,具有一般不太强大的硬件。 该CON:它不是面向未来。
- 黑名单已知的马车浏览器/设备 - UA嗅探将是不可避免的,它可以是很难维持的。
- 性能测试 -因此这个问题,除了运行代码和措施帧率,有更好的选择?
或者,也许它并没有这么难,有没有其他的建议?