检测客户端的webgl功能

时间:2017-05-18 01:21:30

标签: webgl

我怎么能猜出我在运行webgl时遇到的机器类型?

我可以查询类似MAX_VERTEX_ATTRIBUTESOES_texture_float和其他此类属性的内容,并猜测它是否是更高端或更低端的GPU?

1 个答案:

答案 0 :(得分:1)

我认为更好的方法是查看来自navigator.userAgent的用户代理字符串(WEBGL_UNMASKED_VENDOR),WEBGL_UNMASKED_RENDERERWEBGL_debug_renderer_info,以尝试找出用户&#39}平台(移动或桌面)和GPU(来自WEBGL_UNMASKED_RENDERER)。

例如,这是我的UA和渲染器名称:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Intel Iris OpenGL Engine

由此可以猜测我正在运行具有Intel iGPU(来自渲染器)的桌面Mac(Intel Mac部分UA)。

另一个例子,来自iPhone:

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1
Apple A9 GPU

从中您可以发现,您正在处理iPhone 6S(因为它有A9芯片)。

同样,您可以检测Androids和WinPhones并查询GPU。