cancel
Showing results for 
Search instead for 
Did you mean: 

[Gear VR] Performance drops when activating particle system - why?

motorsep
Rising Star
https://www.youtube.com/watch?v=WbyJzk0xaFk

When I activate particle system on the rising drone (using Activate node), performance drops momentarily. Do you happen to know why is this happening and how to work around it ?

Thanks
12 REPLIES 12

Leemon89
Explorer
Hey! I'm experiencing similar issue with pulse particles like muzzle flash, weapon shells, bullet hits. I believe the start of simulation is a performance-heavy process by itself, but I'd like to see more info on this if possible. Cheers!

Anonymous
Not applicable
Do you guys only see it the very first time you spawn the emitter? and afterwards when activating the same emitter again there is no problem?
I had this problem and workaround it by spawning my emitters in the background behind a intro screen and then destroying them straight afterwards - with nothing else going on there was no performance drop and not noticeable on a black screen with the game text anyway 😄 Then later when using them in the game there was no performance drop

motorsep
Rising Star
I only spawn that emitter one time. Thanks for the tip - I'll try your method. I am actually thinking not to destroy it, but rather reset it when I need to show it.

Actually now that I am thinking about it, I spawn it hidden, and then reveal it. So the hiccup happens on reveal, not on spawn.

Anonymous
Not applicable
hmmm ok must be something else for you

drash
Heroic Explorer
Some of my biggest frame drops have been due to uploading a shader to the GPU for the first time.  

My favorite solution to that is helpfully provided by Unity in Edit -> Project Settings -> Graphics, in the Shader Preloading section.   Hit the Clear button, run through your app in the editor making sure to look at everything that can be looked at, and then stop playing.   The Shader Preloading section should show a # of shaders that it has tracked during gameplay, and you can save this list out to an asset using the "Save to asset" button there.   Then, you want to make a script that references this asset, and calls WarmUp() on it when your app starts.   All shaders that are used during your app are now on the GPU ready to go as soon as they are needed.

Of course, there are other factors, like uploading textures to GPU, loading resources from disk/APK for the first time, etc, but I found this shader preloading tip to be extremely useful.   You should be able to pinpoint what's causing the spike if you use the Profiler w/ Deep Profile turned on.

motorsep
Rising Star
@drash
I am not sure if UE4 has the same kind of deal.

drash
Heroic Explorer

motorsep said:

@drash
I am not sure if UE4 has the same kind of deal.


Woops my bad, assumed you were using Unity!

Mohammed_hashim
Expert Protege
Hi @motorsep did you able to find a workaround for this issue?

motorsep
Rising Star


Hi @motorsep did you able to find a workaround for this issue?



I don't develop for Gear VR any longer and I haven't tried particles on Go yet.