我一直对此感到好奇,并没有看到太多推动界限的例子。
在图形方面,画布可以走多远?是否有一个很好的衡量它开始行动shakey之前它可以处理多少多边形?也许是一款可以与之比较的游戏?
答案 0 :(得分:4)
Canvas与WebGL
首先,术语"画布"不是" WebGL"。
的同义词以下初始值设定项返回CanvasRenderingContext2D
canvas.getContext("2d");
此初始值设定项返回WebGLRenderingContext
canvas.getContext("webgl");
HTML5 <canvas>
元素用作容器,WebGL是该容器中的一种可能的渲染上下文。
More information about WebGL initialization
WebGL限制
至于限制,理论上WebGL使用的是运行在您计算机上的任何桌面OpenGL应用程序所使用的相同视频驱动程序。话虽如此,重要的是要注意WebGL本质上是OpenGL ES 2.0,与标准OpenGL相比,它有一些限制。
有关OpenGL ES的更多信息,请参阅Wikipedia
另一个限制是您能够覆盖广泛的受众群体。 IE11仅在IE 11中得到部分支持,并且在11之前完全不受支持。默认情况下,它在当前版本的Opera和旧版本的Safari(8.0之前版本)中也被禁用。来源:WebGL Support。
此外,WebGL应用程序正在运行JavaScript引擎,而不是本机编译的桌面应用程序。虽然Chrome的V8引擎在提高JavaScript性能方面取得了令人难以置信的进步,但它仍然会比原生应用程序慢。
有关这些挑战及其他挑战的更深入分析,请参阅:WebGL Challenges
摘要
WebGL基于OpenGL ES 2.0,这是一个略微降低功能的OpenGL版本。它还运行在JavaScript引擎之上,该引擎比本机代码慢。 WebGL在不同的Web浏览器之间不受同等支持或标准化。
除了上述限制外,WebGL几乎可以呈现GPU在桌面应用程序中渲染的任何内容,并可能降低性能。
除了限制之外,几个月前Epic Games宣布与Mozilla合作开展涉及porting Unreal Engine 4 to WebGL的项目,所以我们当然不应该对WebGL的真正功能匆匆做出任何结论。 / p>