Scene Optimization?

Hello everyone,

Sorry if this question is not posted in the correct sub-forum, I wasn’t exactly sure where to ask. My team is currently focused mainly on getting our game in a playable state, all of the graphics in the game are solely placeholder. Our levels are pretty barren for the most part, but we are getting just plain awful performance in them for some reason.

We decided to rip out our player character and all of our major game systems and drop them into the Island Demo level to compare performance. It’s a night and day difference, on my particular system I’m seeing only 20-25 FPS in most areas of our levels, but 60+ in the Island Demo.

We really aren’t too hung up on performance at this point, but we are currently in the process of bringing an art director on to the project and beginning the process of replacing all of the placeholder assets. However, we want to make sure we are going about constructing the levels and assets correctly - since performance is so awful even in our barren test levels. It’s one of those “We know it’s not the engine, and we’re pretty positive it’s not our scripts” situations where you know you’re doing something fundamentally wrong but you just aren’t sure what that something is.

I’m attaching four images - two from each scene (island demo and our own 1-1 test scene). One image just looking out at the game with the stats window running, and another with the profiler running as well.

Basically we are assuming that we are making some fundamental mistakes in how we set up the terrain, water, and lighting for the most part (since we’ve ripped out pretty much everything else without any major performance increases) and were wondering if you guys had any ideas what we could be doing wrong / guides towards optimizing large outdoor scenes.

Island Demo looks and runs great with all of our game systems running in it.

Thanks in advance for any feedback/tips! I know I probably have not provided enough information here, so please don’t hesitate to ask for any other screen shots/values from the editor - I’d love any help we could get with this.



Forgot an image!

the second screen is pretty obvious on whats wrong: over 2000 drawcalls means that you either have a GTX260+ or you will run into some pretty massive wall.

on the first screen it might be something similar that your gpu just has a hard time to keep up with realtime reflections. also in such low fps scenarios ensure to close the profiler window during the test run, then pause gameplay and open it. that way you won’t get the fps hit of the profiler.

This presentation from Unite 2007 is a goldmine of performance related tips.

http://unity3d.com/support/resources/unite-presentations/performance-optimization

Thank you for the responses guys! We’re looking into getting our draw calls down to try and resolve this.

The video was illuminating in more ways than one, thank you for the link.