Browser 使用浏览器中运行的webgl创建gpu密集型web应用是否现实?

Browser 使用浏览器中运行的webgl创建gpu密集型web应用是否现实?,browser,gpu,webgl,Browser,Gpu,Webgl,我一直在考虑使用在浏览器中运行的webgl创建一款时髦的游戏,但我注意到,尽管有一款NVIDIA GeForce GTX 1060和3gb的vram,但我一次最多只能使用512mb的vram。我相信这是因为浏览器使用的是我的集成gpu,而不是我的专用gpu。我已经读到一些人有同样的问题,并通过重新配置来纠正,但我不想让我的web应用程序的用户担心这一点,如果他们也有类似的问题,需要更多的vram来运行应用程序 是否有一个简单的“修复程序”允许浏览器使用专用gpu而无需进行任何技术重新配置?这只是

我一直在考虑使用在浏览器中运行的webgl创建一款时髦的游戏,但我注意到,尽管有一款NVIDIA GeForce GTX 1060和3gb的vram,但我一次最多只能使用512mb的vram。我相信这是因为浏览器使用的是我的集成gpu,而不是我的专用gpu。我已经读到一些人有同样的问题,并通过重新配置来纠正,但我不想让我的web应用程序的用户担心这一点,如果他们也有类似的问题,需要更多的vram来运行应用程序


是否有一个简单的“修复程序”允许浏览器使用专用gpu而无需进行任何技术重新配置?这只是在浏览器中使用gpu的一个不幸问题吗?还是我不了解使用gpu的一些基本知识?

在WebGL中,您可以要求浏览器使用离散gpu,方法是将
powerPreference:“高性能”
传递到
getContext
,如中所示

const gl = someCanvas.getContext('webgl', {powerPreference: 'high-performance'});
如果存在,可以使用
WEBGL\u debug\u renderer\u info
扩展来检查它是否工作

const canvas=document.createElement('canvas');
const gl=canvas.getContext('webgl',{powerPreference:'high-performance'});
const ext=gl.getExtension('WEBGL\u debug\u renderer\u info');
如果(分机){
log(gl.getParameter(ext.UNMASKED_VENDOR_WEBGL));
log(gl.getParameter(ext.UNMASKED_RENDERER_WEBGL));
}否则{
log('此浏览器不支持WEBGL_debug_renderer_info');
}