React Native的GLView在iOS模拟器中存在性能问题

w1jd8yoj  于 2022-11-26  发布在  iOS
关注(0)|答案(1)|浏览(151)

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

"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相同的项目在Android模拟器(Android 13 SDK,API33,像素设备)上运行完美
可以做些什么来加速渲染?

vkc1a9a2

vkc1a9a21#

TLDR:禁用GLView组件中默认为iOS设备启用的抗锯齿功能。
在创建GLView时传递msaaSamples属性并将其设置为0(默认值:4个)

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

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

为什么这会有帮助

我只是猜测它的一些内存问题。移动的视网膜显示器本身的使用就像2K像素。添加4倍多采样抗锯齿(短msaa)四倍的视频内存需要存储一帧。
注意:请随意添加更多关于如何提高性能的评论,我可以将其纳入此答案中。

相关问题