我正在使用苹果的CAEmitterLayer
和CAEmitterCell
设计一个粒子系统,在iPhone5和模拟器上一切都很顺利。但是一旦在iPhone4S上运行,粒子系统就会导致FPS下降。现在我尝试减少屏幕上的粒子数量,甚至只创建每秒一个粒子的程度,但FPS下降的幅度与每秒创建500个粒子时相同。iPhone4S运行的是iOS 6.1.3,而iPhone5运行的是iOS 6.1.4。
为什么CAEmitterLayer
会造成这么大的游戏速度下降?即使每秒只创建一个粒子?
我正在使用苹果的CAEmitterLayer
和CAEmitterCell
设计一个粒子系统,在iPhone5和模拟器上一切都很顺利。但是一旦在iPhone4S上运行,粒子系统就会导致FPS下降。现在我尝试减少屏幕上的粒子数量,甚至只创建每秒一个粒子的程度,但FPS下降的幅度与每秒创建500个粒子时相同。iPhone4S运行的是iOS 6.1.3,而iPhone5运行的是iOS 6.1.4。
为什么CAEmitterLayer
会造成这么大的游戏速度下降?即使每秒只创建一个粒子?
emitterLayer.shouldRasterize=YES;
cellLayer.lifetime = 10;
减少CAEmitterCell
的寿命可能会有所帮助。
这里有一些关于CAEmitterLayer
的示例https://github.com/JJMM/CUSSender。
CAEmitter___
的其他参数?顺便说一下,500个粒子太多了。 - Khanh Nguyen