Game
Upside-Down Dimensions
7 years ago

Optimizing performance in Upside-Down Dimensions


5d0ac776e8b28.gif

Everyone that has been using Unity to develop a game, know exactly how tough it is to actually achieve a consistent and stable framerate needed to give the player the best possible gaming experience.

The main problem is how to manage correctly the CPU and the GPU as to avoid collapsing it under a tremendous flow of data and calculations that will make your framerate start to fall as leaves from trees during autumn.

There are a lot of optimization techniques that can be used and that can be found with a couple of simple queries on google, from optimizing our code and how we compute all calculations in the,  to give the engine the less possible amount of data to “chew” without choking.

In the last weeks we have been especially work on the later as to try to have  a stable amount of objects to be processed across the level in order for the game engine to use correctly the CPU and GPU without causing overruns.

5d0ac77b22310.jpg

To do that, we have basically created a simple streaming algorithm that starts by disabling all objects during the load of the scene. Yo cannot disable the overall object because  if not, it would be impossible to awake it again when the correct  events are generated. Reason why, we have organized most of our scenes with a main empty game object that serves as a template for the final gameobject that holds the logic and the animations of the game. This way, we don´t have to think on what to disable or what to enable, and we turn off the gameobject child.

By doing  this we are already saving a lot of cycles on the amount of physics calculations and frustrum visibility checkups , which is quite good for the overall framerate.

5d0ac77dc901f.jpg

To reactivate the object, we have created a Box that follows the camera ( not attached to the camera, because since our game has a dual world setup, the camera needs to rotate to pass to the other dimensions, and the cost of the rotations with triggers boxes would be to high) and that when an object is triggered activates it back to its logic.

The result is a reduction of the usage in the memory, CPU and GPU Usage and in a more stable gameplay experience.

You can find more about the game on our Steam EarlyAccess page.



0 comments

Loading...

Next up

Upside-down coop slit screen

Fan art for Foolish I'm feeling kinda better so I drew this

I was bored, so... ManutKat.

The Darkside Detective: A Fumble in the Dark is out TODAY! 🖱️Advanced pointing, clicking action 🖨️Very funny words! Loads of them! 👻6 sarcastic, spectral cases to solve

Demonstration of the spells and their effects :)!

Why walk when you can jump?

Spaaaace~

These are background sprites I've created for a game I'm working on at school ^w^ Click on the post to see how the sprites connect. You won't regret it! (personally, I think it's pretty heheh)

Drawn in Piskel using my mouse. Whaddya think?

Regular exercise is key for healthy wings.

Try it out!

https://gamejolt.com/games/AeonNightmares/605184

Alone Together....

not the greatest house, but it's a house! :D