- Home /
Occlusion culling kill the FPS on Android
Hi.
I don't know why but it seams that baking/having occlusion culling on android not only doesn't improve performance but it gonna kill it.
I have tested it with my game(the OC is definitely applied to track model which is static)
the game is a racing one with pretty high graphics(around 231 DCs without AI, UI, Skybox)
the interesting part is whenever there is an occlusion culling on the scene the frame rate goes down up to 9Fps(with 194 DCs).
no matter what the device is its almost the same.
on Xperia mini with only one CPU core it has the frame rate of 9 however with HTC desire 620G (octa-core 1.7Ghz CPU) I only get 12.
frame rate keep the same even if i totally hide game objects or destroy them or reducing resolution and only seems to be solved when i build the scene without occlusion culling integrated (in this way Fps on Xmini is 17with all objects visible and 31 with all track objects invisible).
so it must be due to occlusion culling.
what would you recommend to have a acceptable fps while still using the occlusion culling benefits?
is it a better way to ignore having OC but use LOD to hide small objects while they are far away?
thanks in advance for any suggestions.
Does the same FPS drop happen when you run it inside Unity on your computer? If so, I suggest running the profiler to see what is taking up the most time when you switch occlusion culling on.
@_Gkxd thanks for your respond. yes that happen even on editor but isn't sensible enough to be caught due to cpu power. recently i was all playing with settings and figured out that there should be a balance between CPU & GPU usage. occlusion culling is a solution while you have too many heavy shadered drawcalls which will cause a GPU bottleneck. in this way u can use OC to remove some of DCs by adding a little bit more task on CPU. i think OC use some raycast like functions which is CPU wise. anyway with my understanding this is a better way to use only frustum culling and LOD base culling on small object to increase performance at least on mobile which most of the time the CPU has a bottleneck Not GPU.
O$$anonymous$$G 5 days of tweaking and trying other approaches but no hope. I think that I have no way except writing my own Occlusion Culling system which is based on triggers.
so whenever the player enter a trigger all corresponding mesh filters get enabled and vice versa.
what do you think? is it such a workable and worthy approach?
Your answer
Follow this Question
Related Questions
Occlusion culling for flight sim 0 Answers
Mobile game - should I reduce my vertex count? 1 Answer
How to increase Android Performance? 1 Answer
Very slow game startup on android. 1 Answer
How to speed up my building Process for my 3D game? 1 Answer