【问题标题】:GLView of React Native has performance issues in iOS simualtorReact Native 的 GLView 在 iOS 模拟器中存在性能问题
【发布时间】:2022-11-26 11:25:52
【问题描述】:

使用(expo 的)GLView 运行 React Native 在 iOS 模拟器中可能有糟糕的性能,使其无法用于开发您的应用程序。

我的设置:

    "expo": "~47.0.8",
    "expo-gl": "~12.0.0",
    "expo-three": "^7.0.0",
    "react": "18.1.0",
    "react-native": "0.70.5",
    "three": "~0.145.0"

在 iOS 模拟器(iPhone 14Pro、iOS 16.1)中运行的 M1 Mac 上运行简单的旋转立方体场景会呈现很少的 FPS 同一个项目在安卓模拟器上完美运行(安卓13 SDK,API 33,像素设备)

可以做些什么来加速渲染?

【问题讨论】:

    标签: ios reactjs react-native webgl ios-simulator


    【解决方案1】:

    TLDR: 在 GLView 组件中禁用默认为 iOS 设备启用的抗锯齿功能。

    创建 GLView pass 时MSaaSamples属性并将其设置为0(默认值:4)

          <GLView
            msaaSamples={0}
            onContextCreate={....
    

    这将使性能接近 Android 模拟器。

    为什么这有帮助?

    我只是猜测它的一些内存问题。移动 Retina 显示自己使用像 2K 像素。添加 4 倍多采样抗锯齿(简称 msaa)会使存储一帧所需的视频内存量增加四倍。

    注意:随意添加更多 cmets 如何从中获得更多性能,我可以将其合并到这个答案中。

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 2019-06-27
      • 2020-09-14
      • 2022-01-15
      相关资源
      最近更新 更多