用于糟糕或无WebGL支持的playcanvas 2D后备

时间:2015-10-24 04:36:30

标签: html5-canvas webgl game-engine fallback playcanvas

对于令人敬畏的playcanvas游戏引擎,是否有任何已知的2D画布回退实现?

我们的想法是,系统应该在WebGL与Canvas 2D的加载过程中测试渲染性能,如果它在casGL中找到更好的性能,则回退到Canvas 2D。在Web浏览器中不支持WebGL。

其他框架three.jspixijs具有此功能,对于playcanvas来说非常棒,但只要我看到它们没有此功能且没有实施任何解决方案由社区。

2 个答案:

答案 0 :(得分:4)

不,PlayCanvas没有Canvas 2D后备。

首先,Canvas 2D永远不会比WebGL更快地渲染3D场景。这是因为您必须将复杂的GPU任务转移到CPU上。 PlayCanvas实现了一个非常复杂的物理渲染管道,重新实现它的CPU端永远不会提供可接受的性能。它对Pixi更有意义,因为Pixi主要关注的是2D精灵基元,它可以通过Canvas 2D非常便宜地呈现。

在撰写本文时,WebGL has a penetration of 91.1%并且趋势仍然向上。因此,您现在只有少数几个无法体验WebGL的人。

在用户无法运行WebGL(无论出于何种原因,例如运行IE9及以下版本)的情况下,建议只是显示一条消息,要求升级到支持WebGL的浏览器。

答案 1 :(得分:1)

如果没有webgl是一个非常边缘的功能,那么这个回归到画布,也许这就是为什么几乎没有实现它的愿望。也许在webgl支持非常有限之前它是有用的,但我不认为它需要大量的atm。这是为什么:

如果canvas api满足您的所有要求,那么编写一个webgl应用程序来执行与canvas api相同的操作几乎没有意义。

如果需要/需要webgl功能(例如3D),或者只需要绘制具有不同比例/旋转的许多精灵,那么画布性能可能达不到标准。此外,浏览器(我上次检查)的画布性能非常不一致。这是我首先编写webgl渲染器的动机。

相关问题