假设我想构建一个类似于 2D 横向卷轴游戏的东西。React Native 在性能方面是否合适?例如,我可以使用 OpenGL 加速吗?或者它可能会比只使用 WebGL 和 HTML5 慢吗?
进行了更多研究并得出了以下信息:
显然有一个 GLView 包含一个 WebGL 上下文: https ://docs.expo.io/versions/latest/sdk/gl-view.html
在那个页面上它说:
可以使用任何需要 WebGLRenderingContext 的支持 WebGL 的库。有时,此类库假定 Web JavaScript 上下文(例如假定文档)。通常这是用于资源加载或事件处理,主要渲染逻辑仍然只使用纯 WebGL。因此,这些库通常仍然可以与几个解决方法一起使用。上面特定于 Expo 的集成包括一些流行库的解决方法。
还有来自 Expo 的 Twitter 评论,其中特别提到了“游戏”:
Expo Graphics gives you the power of GL combined with Expo+React Native. It
is the foundation for image filters, games, and special effects.
这里应该有一个演示: https ://github.com/gre/gl-react
那里没有列出多少使用 React Native 构建游戏的项目。尽管如此,原生 OpenGL 加速的 WebGL 上下文接口还是带来了希望。