Strange laggy particles

  • Found this when I was messing around with Meteor, it was getting very laggy after I kept modifying the particles. So I took the blue particle the enemies play and put it into a test project and put the graphic the particle uses as well, and just tested how many of the object playing the enemy particle hyperPad could handle while staying at 60FPS, which on my iPad Air was about 30 (started flickering FPS between 60 and 20). Then I modified the particle, the ONLY thing I did was set the graphic that it was using to the enemy particle graphic I transferred over (so this should've done nothing, as that was the graphic they were already using), then tested it. HyperPad then let me place 75 of the object playing the new particle before it started flickering between 60 and 40fps! Just reselecting the graphic more than doubled their efficiency. Ive also noticed that the more you modify a particle, the blurrier the graphic it's using gets (and eventually turns into a square), this was a long time ago and I'm not sure it's been fixed, but it seems the more I modify a particle without reselecting it's graphic, the laggier the project gets.

  • Here's an example:
    Tap anywhere on the screen to place a particle object, make sure you have FPS on. Edit the project and open the circle object in the middle of the screen and change the particle it plays, and watch the difference between the particle EnemyBlue (which is the new one, where I just reselected the graphic) and EnemyBlue_old (directly before I reselected the graphic).

  • Also, I'm not 100% sure on this, but I think deleting an object playing particles twice in the same frame will actually delete all the particles suddenly too (compared to activating just once, it destroys the object and the particles disappear on their own as they should).

  • Just another minor bug:
    Collided with tag -> enable object of same tag does not work. I was just using this with reset behaviours so that I could restart enemies in Meteor and re-use them. I am working around it just by putting the enable object with restart behaviours inside the enemy itself. Also it would be nice if restart behaviours also turned all its particles off, so that I don't have to behaviour off all of the particles it might play.

  • @administrators Just wondering if this has been checked. I think the link to the example project may have expired (post is 7 days old).

  • Admin

    Sorry I thought I replied to it. Can you also repost the project?

  • Here's the new link to same project:

  • @administrators Just checking again that you've checked this out lol, the link will expire soon again. You guys must be busy 😛

  • Admin

    Yep its on the list of things to fix! Already downloaded.

  • Admin

    Couldn't reproduce! Could it be that your particle has a lot of transparencies? Or that it is a really large image?

  • Create a particle, any particle at all, make it the max amount of particles so that it is fairly laggy, or make it less particles but have tonnes of objects playing it, see what the FPS is, then go back and edit the particle, just save it without changing it at all, save it a bunch of times then play the particle again. It should be LOTS more laggy now. If you edit the particle again and reselect the graphic it plays, it won't be laggy any more.

  • @Hamed Another strange particle bug!:
    An object is playing an infinite timed particle and is constantly moving in some direction, after some event the particle is turned off. What should happen is the particle stops playing and any remaining particle will dissapear on its own as intended by the particle effect, but if the object is moving in a direction other than an angle of 0° the particles will all dissapear abruptly. This makes the new stuff I'm adding to Meteor look stupid. (It took me a while to figure exactly what was making it happen).

  • @Hamed Also here's a link to a laggy version of the exact same project linked above:
    You should be able to very easily notice that this version is super laggy (link in the above post runs at 60FPS, the one in this post runs at less than 15FPS). Literally all I did was open particle editor, select the particle, press save and yes to overwrite, and repeat about 5 times (you need to keep reselecting the particle for it to work). If you do it too many times the particle seems to become corrupt and doesn't play at all any more, when you edit it to see the graphic it has changed from whatever it was to the graphic used by the fire particle.

  • The links probably expired again, I hope you got them.

  • @Aidan-Oxley link not expired yet, weird bug with particles stopping. Also happening on beta.

  • @Jack8680 Nice! So is the second project link super laggy though compared to first?

  • Admin

    Fixed the particles getting progressively worse... but I can't recreate the abruptly stopping particle

  • @Hamed
    Here's a link to an example, first touch the red object playing the particle (touch to turn particles on or off), you will notice everything works fine. Then touch the label that says "0" and enter an angle (will rotate the red square to that angle, now try turning the particle on and off by tapping the red square, it should appear different and turn off abruptly.

  • Admin

    Fixed with this particular use case...

    However, if you turn on rotate with parent, it will still disappear abruptly given the way particles are designed.

  • @Hamed So you can't fix it with rotate with parent? This is really weird, because I can get around it by instead of turning off the particles, have a separate object that only plays the particle then deletes itself when I want to turn them off, particle doesn't disappear abruptly.

Log in to reply