React Native适合构建OpenGL加速的2D游戏吗?

时间:2018-06-05 12:40:18

标签: react-native 2d-games side-scroller

说我想构建类似2D侧滚动游戏的东西。 React Native是否适合性能?例如,我可以使用OpenGL加速吗?或者它可能比仅使用WebGL和HTML5慢?

进行了一些研究并得出了这些信息:

显然有一个包含WebGL上下文的GLView: https://docs.expo.io/versions/latest/sdk/gl-view.html

在该页面上,它说:

  

任何支持WebGLRenderingContext的支持WebGL的库   可用于。有时候这样的库会假设一个Web JavaScript   上下文(例如假设文档)。通常这是资源   加载或事件处理,仍然只有主渲染逻辑   使用纯WebGL。所以这些库通常仍然可以用于   几个解决方法。上述世博会特定的整合包括   一些流行的图书馆的解决方法。

此外,来自世博会的Twitter评论提到了游戏'具体是:

tasti.class

这里应该有一个演示: https://github.com/gre/gl-react

那里列出的项目没有太多使用React Native构建游戏的项目。不过,有一个原生OpenGL加速的WebGL上下文界面带来了希望。

1 个答案:

答案 0 :(得分:2)

我已经使用react-native-webgl来构建minesweeper game。该库提供了渲染16x30网格的单元(从一种状态到另一种状态的快速转换)所需的性能提升。在某些情况下,游戏需要一次重新渲染数十个甚至数百个单元。默认的React Native渲染器在没有用户注意延迟的情况下还不够快。

请注意,尽管react-native-webgl解决了性能问题,但它要求您编写低级代码,例如创建着色器,管理顶点等。而且我还没有发现在react-native-webgl之上构建的库这将适合我的任务。

因此,如果您确实需要或想要在游戏中使用React Native,请使用react-native-webgl或GLView for Expo。否则,请使用Unity等其他技术。

您可以找到我的游戏here的源代码。