[SOLVED] Particles issue for ipad 2 and 4

Hi guys,

the particles aren’t visible on ipad 2 and ipad 4.

Here’s a publish http://playcanv.as/p/zB4un3lE/

Thank you

So we have a number of different iOS devices in the office, but not either of those two! :frowning2:

However, can I suggest something. You’re familiar with building the engine and using your custom one instead of the stable version on the PlayCanvas servers, right?

Check out this line:

Can you change that to:

        if (this.unmaskedRenderer === 'Mali-450 MP') {
            this.boneLimit = 34;
        } else if ((this.unmaskedRenderer === 'Apple A5 GPU') || // iPad 2 
                   (this.unmaskedRenderer === 'Apple A6X GPU') || // iPad 4
                   (this.unmaskedRenderer === 'Apple A8 GPU')) {
            this.forceCpuParticles = true;
        }

If you build the engine with that change, run in the launch with a URL like:

http://playcanvas.com/editor/scene/123456/launch?use_local_engine=http://your.web.server/playcanvas-latest.js

Does that work?

I tried this on some configurations on crossbrowsertesting.com and noticed the particles animate differently than on desktop browsers on some iOS device/os combinations:

They seem to spew to the top/right instead of in a random direction, then they seem to wrap to the bottom left of the screen.

This behavior reproduced on:

“iPad Air 2 / 9.0”, “Mobile Safari 9.0”, 2048x1536 (L)
“iPad Air 2 / 8.1”, “Mobile Safari 8.0”, 2048x1536 (L)
“iPhone 6s Plus / 9.0”, “Mobile Safari 9.0”, 1080x1920 §
“iPhone 6s / 9.0”, “Mobile Safari 9.0”, 750x1334 §
“iPhone 6 Plus / 8.3”, “Mobile Safari 8.0”, 1080x1920 §

The particles do seem to animate correctly on the following configurations.

“iPad Pro / 9.3 Simulator”, “Mobile Safari 9.0”, 2732x2048 (L)
“iPad Air 2 / 9.3 Simulator”, “Mobile Safari 9.0”, 2048x1536 (L)
“iPad Air / 8.1 Simulator”, “Mobile Safari 8.0”, 2048x1536 (L)
“Android Nexus 9 / 6.0”, “Chrome Mobile 48”
“Android Nexus 9 / 5.0”, “Chrome Mobile 44”
“Android Nexus 6P / 6.0”, “Chrome Mobile 49”

Does not get past loading screen:

“iPad Mini Retina / 7.1 Simulator”, “Mobile Safari 7.0”, 2048x1536
“iPad 4 / 7.1 Simulator”, “Mobile Safari 7.0”, 2048x1536 (L)

Meh.

Can you try something for me please? Add the following to the initialize function of one of your scripts:

this.app.graphicsDevice.forceCpuParticles = true;

(…or remove ‘this.’ if you are still using the old scripting system).

Does that give you better cross-device results?

This fixes an issue with wrapping particles for the following project:

https://playcanvas.com/project/395003/overview/various-tests

Preview:

https://s3-eu-west-1.amazonaws.com/apps.playcanvas.com/pANujxYv/index.html

Works:
Windows 10 (IE11, Chrome 52 64 bit, Firefox 42)
OSX 10.11 (Chrome 52 64 bit, Firefox 47 64 bit, Safari 9)
Nexus 9 (Chrome Mobile 48)
Nexus 6P (Chrome Mobile 49)
iPad Air 2 / 9.0 (Mobile Safari 9.0, Mobile Safari 8.0)
iPhone 6s Plus / 9.0 (Mobile Safari 9.0)
iPhone 6 Plus / 8.3 (Mobile Safari 8.0 … crashes device after a few seconds though)

I didn’t want to fork dracine’s project as I had a test project that had similar issues. Results may vary? :confused:

So barring the iPhone 6 Plus, it looks like a reasonable workaround?

FYI, I just ran on iPhone 6 (normal, not Plus) and it runs fine.

Just to point out - I’m having weird particle issues still on mobile devices. Particles don’t appear, or appear and move differently to desktop.

And this happens using the ‘fix’ above? Namely to force CPU animation of particles?

No that’s fixed it… Sorry was totally unclear about that lol

Hello,
I’m experiencing the same problem on iPhone 6S, but forceCpuParticles fix doesn’t work :frowning:
Here is the project I’m using for test: https://playcanvas.com/project/550986/overview/particles-test
Working well even on iPhone 6, but not on iPhone 6S. Am I doing something wrong?