- Home /
Bad performance on quad core Android phones
I'm making a game that has particle (liquid) simulation in it. I'm simulating the liquid with a particle physics simulation library thats written in C++ .
I wrote a plugin for unity to call this native C++ library on android and iOS and I'm calling it from a C# monobehaviour derived class using fixedupdate and so on.
I'm drawing the particles with unitys 4.3 sprites and applying a metaball shader to them.
Now, the performance on an old dual-core samsung galaxy 2 is fine (it runs at a fairly steady 60 fps most of the time) But Ive noticed on more modern (much more powerful) quad-core phones like an HTC One X and a nexus 4 that the performance is only ok, barely acceptable , running at about 30fps most of the time and dropping into the 20's when there are lots of particles.
Any ideas what might be causing this? My 1st guess is that my external library is being run in the same thread as everything else, so I might look into using this to run the physics library in a different thread
As far as I know, Unity will run everything on the same thread. I have been searching on how to manage threads separately as well.