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

This Satuday we invite to watch another #speedpainting of our artist Daniel Faiad.

How great is this scene of #Pecaminosa?

#ScreenShotSaturday | #IndieDev | #DigitalArt

Smile! Here, take some happy pills! ✨💊 #Blender #3DModelling #3DArt Buy me a Ko-fi: https://ko-fi.com/barbarafb_

Have a good Boi

Quantum precognition is one of the most powerful cards. End game cards & equipment. Demo/alpha build boss is no match for this deck.

I was bored, so... ManutKat.

Just a Pico sprite

A Shiny Mega Gengar 🌟 For @ManutkArt 's #ThreeColorsChallenge!

A house I've built a while ago. :)

It nicely separates the snowy biome from the grassy one.

It's built with painted Ebonstone.