首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iphone 6上的粒子发射器超慢

iphone 6上的粒子发射器超慢
EN

Stack Overflow用户
提问于 2015-01-25 11:30:00
回答 1查看 303关注 0票数 0

我正在创建一个使用iOS雪碧套件+粒子发射器的游戏。它在我的模拟器上运行的非常好,但是当我在iphone 6上运行游戏时,它非常慢而且滞后,我几乎无法与它交互。

你知道为什么模拟器和我的手机有这么大的不同吗?真的很感谢你的任何建议!

EN

回答 1

Stack Overflow用户

发布于 2015-04-18 21:04:52

我也在经历同样的事情。奇怪的是,iPhone 5和iPad性能很好。通常是60英尺。

在iPhone 6上,它从0到2 fps开始,通常停留在那里.有时,在20-30秒后,它已经完全缓冲了一切,我得到了60英尺。通常情况下,它永远不会出现在那里。

所以这不仅仅是模拟器和实际硬件的区别。iPhone 6和6+有很大的不同(也是错误的)。

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

代码语言:javascript
复制
- (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,这对于iPhone 6来说仍然是个问题。

-新信息更新

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

iPhone 5和iPad做这件事从来都不是问题,但它似乎是iPhone 6和6+的杀手。我做了一个实验,我用SKScene和SKEmitterNode将应用程序简化为一个VC,并试图将其动画化。突然,它工作在60英尺。

FYI,我有4个发射极节点与不同的艺术资产运行在这个场景,它是超级快,因为它应该是。

非常烦人的是,我不得不重新设计这个应用程序,就因为这个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28135855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档