我怎么能猜出我在运行webgl时遇到的机器类型?
我可以查询类似MAX_VERTEX_ATTRIBUTES
,OES_texture_float
和其他此类属性的内容,并猜测它是否是更高端或更低端的GPU?
答案 0 :(得分:1)
我认为更好的方法是查看来自navigator.userAgent
的用户代理字符串(WEBGL_UNMASKED_VENDOR
),WEBGL_UNMASKED_RENDERER
和WEBGL_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。