- Home /
Occlusion Culling freeze standalone player (Unity 5)
Hello everyone !
First question here, sorry for my phrasing, I'm not a native speaker of English.
I just recently bought a license for Unity 5 and we're trying to port our project from Unity 4.2.2f1 to 5.0.0f4.
We were stuck using 4.2.2f1 because they changed the way Umbra works starting at the 4.3 version and it was performing poorly, despite all the setups we tried at the time.
For information it's crucial for our project to have Occlusion Culling, as our main level is a big scene, Skyrim/Shadow of Colossus-style, with less details and no textures.
Here's the significant information of the scene for you :
Total meshes : 2 223
Total Vertices : 572 778
Min : 4
Max : 25 572
Avg : 257
Total Faces : 988 506
Min : 6
Max : 38 376
Avg : 444
All the meshes are tagged as Static Meshes and have the correct Occluder/Occludee tags as well : small meshes have the Occludee tag, large meshes have the Occluder tag and medium meshes have both.
As for the Occlusion Culling parameters :
Smallest Occluder : 20
Smallest Hole : 3
Backface Threshold : 75%
Baked data size : 30Mo
It takes less than 5min to bake the data.
I put ~10 Occlusion Areas inside the scene to "highlight" the volume for Umbra.
We’ve got two cameras rendering the main scene :
One with all the Post Processing Effects from 0.15 to 1500 meters.
Another one w/out the Post Process but with the fog from 1500 to 5000 meters.
We split the main render into two cameras because having only one camera from 0.15 to 5000m creates a lot of ZFight and Shadows flickering. Both cameras are tagged for Occlusion Culling.
My config : - Intel i7-2600K @ 3.4GHz - 8Go DDR3 Ram - Nvidia GeForce GTX 760 (2G VRam)
With all these parameters the scene runs smoothly inside the Editor, does not generate hiccups and hides efficiently the meshes as intended.
But on the Standalone version we’ve got problems : with the Occlusion Culling on, the game uses up at least 75% of the computer’s processing power with horrible freeze frames (up to 1 second of freeze every 5 seconds).
Worst of all, on certain configurations, the game uses up more and more Ram over time, leading to crashes after less than 15min.
We tried some alternative solutions available on the Asset Store : - Instant Occlusion Culling - M2H Culling - Gorovs Occlusion Culling
But unfortunately all of these solutions either aren’t efficient enough or require too much fine tuning on our end to achieve the intended results.
Does anyone have a solution to our problem ?
Why does Umbra work properly inside the Editor but not in a Standalone build version of our project?
Thanks in advance :)
Answer by Acreates · Aug 20, 2017 at 05:23 AM
Hello
Did you guys ever find a fix? I'm dealing with the same issue.
Hi,
Sorry but we didn't find any solution. The multi-threading of PhysX with Unity 5 gave our project a significant boost in performance, so we just kind of "forgot" to look for a good Occlusion Culling.
In the end we didn't use any OC (plus half of our world is now changing over time, so baked data won't be a valid solution).
Cheers.
Your answer
Follow this Question
Related Questions
How do I get my game to run faster? 4 Answers
Merging together all GameObjects of an Array? 1 Answer
Windows Phone performance 0 Answers
Sprite Alpha Performance 0 Answers
How can reduce the poly count? 7 Answers