Ios iPhone6上的粒子发射器超慢

Ios iPhone6上的粒子发射器超慢,ios,iphone,performance,sprite-kit,skemitternode,Ios,Iphone,Performance,Sprite Kit,Skemitternode,我正在创建一个使用iOS精灵套件+粒子发射器的游戏。它在我的模拟器上运行得非常好,但是当我在我的iPhone6上运行游戏时,速度非常慢,而且很慢,我几乎无法与它交互 你知道为什么模拟器和我的手机有如此大的不同吗,以及如何修复它的建议?真的很感谢任何提示 我也在经历同样的事情。奇怪的是,iphone5和iPad的性能非常好。通常为60帧/秒 在iPhone6上,它以0-2fps的速度启动,通常保持不变。有时,在20-30秒后,它已经完全缓冲了所有内容,我得到了60帧每秒。通常,它永远不会到达那里

我正在创建一个使用iOS精灵套件+粒子发射器的游戏。它在我的模拟器上运行得非常好,但是当我在我的iPhone6上运行游戏时,速度非常慢,而且很慢,我几乎无法与它交互


你知道为什么模拟器和我的手机有如此大的不同吗,以及如何修复它的建议?真的很感谢任何提示

我也在经历同样的事情。奇怪的是,iphone5和iPad的性能非常好。通常为60帧/秒

在iPhone6上,它以0-2fps的速度启动,通常保持不变。有时,在20-30秒后,它已经完全缓冲了所有内容,我得到了60帧每秒。通常,它永远不会到达那里

所以这不仅仅是模拟器和实际硬件之间的区别。iphone6和iphone6+有一些非常不同和错误的地方

顺便说一句,我发现用代码创建SKEmitterNodes很有用,因为它可以更快地尝试不同的值。下面是一个有用的方法:

- (SKEmitterNode *)buildEmitterWithImageName:(NSString *)imagefile {

    //instantiate explosion emitter
    SKEmitterNode *explosion = [[SKEmitterNode alloc] init];


    UIImage *image = [UIImage imageNamed:imagefile];

    [explosion setParticleTexture:[SKTexture textureWithImage:image]];
    [explosion setParticleColor:[UIColor whiteColor]];
    [explosion setParticleBirthRate:2];
    [explosion setNumParticlesToEmit:0];
    [explosion setParticleLifetime:3];
    [explosion setParticleLifetimeRange:1];
    [explosion setParticlePositionRange:CGVectorMake(60, 40)];

    [explosion setEmissionAngleRange:360];
    [explosion setParticleSpeed:80];
    [explosion setParticleSpeedRange:30];
    [explosion setXAcceleration:0.05];
    [explosion setYAcceleration:0.05];
    [explosion setParticleAlpha:1.0];
    [explosion setParticleAlphaRange:0];
    [explosion setParticleAlphaSpeed:0];
    [explosion setParticleScale:0.35];
    [explosion setParticleScaleRange:0.2];
    [explosion setParticleScaleSpeed:0];
    [explosion setParticleRotation:0];
    [explosion setParticleRotationRange:0];
    [explosion setParticleRotationSpeed:0];

    [explosion setParticleColorBlendFactor:0];
    [explosion setParticleColorBlendFactorRange:0];
    [explosion setParticleColorBlendFactorSpeed:0];
    [explosion setParticleBlendMode:SKBlendModeAlpha];

    return explosion;
}
在上面的代码中,我使用的出生率是2,这对于iPhone6来说仍然是个问题

-----更新新信息-----

在我的应用程序中,有不止一个视图控制器,因为大部分应用程序都使用标准的导航控制器。此外,其中一些视图控制器有自己的SKView和SKScene实例

iphone5和iPad这样做从来都不是问题,但它似乎是iphone6和iphone6+的杀手。我做了一个实验,我将应用程序简化为一个VC,使用我试图制作动画的SKScene和SKEmitterNode。突然,它以60帧/秒的速度工作

仅供参考,我有4个发射器节点,在这个场景中运行着不同的艺术资源,它应该是超快速的


很烦人的是,我不得不为此重新设计应用程序。

发布你的代码。通常情况下,情况正好相反