Particle system is noisy

Hi,
I’ve got a problem using particle system on android. On some devices PS renders very noisy, as you can see at the picture below (top one).

  1. Acer Iconia Tab A500 (3.1) - OK, no noise.
  2. Windows - OK.
  3. LG P500 (2.3) - noisy.
  4. AVD Emulator (3.1) - noisy.
  5. some device with 4.0, I forget the model - noisy.

What reason can it be?

Thanks!

ver: cocos2d-1.0.1-x-0.11.0


compare.png (37.6 KB)

// code, constructing balls

#define T_PARTICLES_COUNT 250
#define T_PARTICLES_LIFE .8f

...

void Conflict::constructBall() {
    castedBall = new ARCH_OPTIMAL_PARTICLE_SYSTEM;
    castedBall->initWithTotalParticles(T_PARTICLES_COUNT);
    castedBall->setDuration(kCCParticleDurationInfinity);
    castedBall->setEmitterMode(kCCParticleModeGravity);
    castedBall->setSpeed(15);
    castedBall->setSpeedVar(5);
    castedBall->setRadialAccel(0);
    castedBall->setRadialAccelVar(0);
    castedBall->setTangentialAccel(0);
    castedBall->setTangentialAccelVar(0);
    castedBall->setAngle(90);
    castedBall->setAngleVar(360);
    castedBall->setPosVar(ccp(5, 5));
    castedBall->setLife(T_PARTICLES_LIFE);
    castedBall->setLifeVar(1);
    castedBall->setStartSize(20.0f);
    castedBall->setStartSizeVar(10.0f);
    castedBall->setEndSize(kCCParticleStartSizeEqualToEndSize);
    castedBall->setEmissionRate(T_PARTICLES_COUNT / T_PARTICLES_LIFE);
    castedBall->setTexture(CCTextureCache::sharedTextureCache()->addImage("ball.png"));
    castedBall->setPosition(playersCastPositions[whoseTurn]);
    castedBall->setIsBlendAdditive(true);

    changeColor(castedBall);

    addChild(castedBall);

    castedBall->autorelease();
}

Does “noisy” means that the position of particle is wrong?

No, I mean some weird pixelation. Look at the picture, on the below screenshot the PSs are smooth (it’s captured from Iconia Tab A500), but on the top one it’s “pixelated” (it’s captured from emulator).

I have just compiled this with cocos2d-2.0-rc0a-x-2.0, but particle systems are still the same.

Thank you.
#1285 is created for it.

It seems like kind of a dithering problem.
Maybe changing the bit dept of the Surface can help?

I’m having the same problem. . . has anyone found a solution for this? I’m using ver 2.0.4, the problem on GT-I9100P