繁体   English   中英

WebGL和Three.js可以优雅地处理什么图形限制?

[英]what are the graphical limits WebGL and Three.js can handle gracefully?

我一直对此感到好奇,并没有看到太多推动界限的例子。

在图形方面,画布可以走多远? 是否有一个很好的衡量它开始行动shakey之前它可以处理多少多边形? 也许它可以比作一款游戏?

Canvas与WebGL

首先,术语“画布”不是“WebGL”的同义词。

以下初始值设定项返回CanvasRenderingContext2D

canvas.getContext("2d");

虽然此初始化程序返回WebGLRenderingContext

canvas.getContext("webgl");

HTML5 <canvas>元素用作容器,WebGL是该容器中的一种可能的呈现上下文。

有关WebGL初始化的更多信息

WebGL限制

至于限制,理论上WebGL使用在您的机器上运行的任何桌面OpenGL应用程序使用的相同视频驱动程序。 话虽如此,重要的是要注意WebGL本质上是OpenGL ES 2.0,与标准OpenGL相比,它有一些限制。

有关OpenGL ES的更多信息,请参阅Wikipedia

另一个限制是您能够覆盖广泛的受众。 IE11仅在IE 11中得到部分支持,并且在11之前完全不受支持。 默认情况下,它在当前版本的Opera和旧版本的Safari(8.0之前版本)中也被禁用。 资料来源: WebGL支持

此外,事实上WebGL应用程序正在运行JavaScript引擎,而不是本机编译的桌面应用程序。 虽然Chrome的V8引擎在提高JavaScript性能方面取得了令人难以置信的进步,但它仍然比本机应用程序慢。

有关这些挑战和其他挑战的更深入分析,请参阅: WebGL挑战

综上所述

WebGL基于OpenGL ES 2.0,这是一个略微减少功能的OpenGL版本。 它还运行在JavaScript引擎之上,该引擎比本机代码慢。 WebGL在不同的Web浏览器之间不受同等支持或标准化。

除了上面提到的限制之外,WebGL几乎可以渲染GPU在桌面应用程序中呈现的任何内容,并且可能会降低性能。

除了限制之外,几个月前Epic Games宣布与Mozilla合作开展一个涉及将虚幻引擎4移植到WebGL的项目 ,所以我们当然不应该急于得到关于WebGL真正功能的任何结论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM