说我想构建类似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上下文界面带来了希望。
答案 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的源代码。