我的应用程序在 Apple 芯片设备上使用 Google Chrome 时遇到了主要的 WebGL 性能问题,可通过手动将
chrome://flags/#use-angle
设置为 OpenGL 来修复。
我想使用纯 Javascript 代码来读取此标志的值,然后提示用户更改此设置(如果需要)。
我已经有 Javascript 代码来测试浏览器是否是 Google Chrome,并且我有需要测试设备是否使用 Apple 芯片架构的代码。具体来说,我想读取这个特定 Chrome 标志的值。
2024 年有哪些选项可以以编程方式(具体来说,使用纯 Javascript)在浏览器中读取此标志的值?
注意:过去的一个问题询问如何以编程方式设置标志的值,这是我不需要或不想要的。另一个过去的问题涉及使用 Chrome 或 Chromium 的命令行选项,或解析浏览器外部的文本文件,这不是我要问的。我询问如何使用纯 Javascript 在浏览器中以编程方式读取标志的值。
我认为不可能用js直接读取Chrome标志(可能是出于隐私原因)。
WEBGL_debug_renderer_info
检查是否正在使用 ANGLE 等
const canvas = document.createElement('canvas');
const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
const debugInfo = gl?.getExtension('WEBGL_debug_renderer_info');
if (debugInfo) {
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
console.log('WebGL Renderer:', renderer);
}