在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,像素设备)上运行完美
可以做些什么来加速渲染?
1条答案
按热度按时间vkc1a9a21#
TLDR:禁用GLView组件中默认为iOS设备启用的抗锯齿功能。
在创建GLView时传递msaaSamples属性并将其设置为0(默认值:4个)
这将使性能接近Android模拟器。
为什么这会有帮助
我只是猜测它的一些内存问题。移动的视网膜显示器本身的使用就像2K像素。添加4倍多采样抗锯齿(短msaa)四倍的视频内存需要存储一帧。
注意:请随意添加更多关于如何提高性能的评论,我可以将其纳入此答案中。