CodingMarmot

Optimizations

2015-11-25 Development
Hi everyone!

During the last two months, I spent about 2 – 3 weeks working on optimizations in order to reduce the world’s loading time. The aim is to reduce the time required for blocks to pop in the world, which shouldn’t be mistaken with the FPS (frame per seconds).
Since we continuously add new content in the game, this optimization work needs to be done regularly to keep the game playable.

Before diving into numbers here are the key steps of our engine, that we optimized, and their definition:
  • Generation: A logical block model of the world is generated
  • Sun: All the areas reachable by a vertical sun are computed
  • Light: The lighting of each block is computed, using the sun and light blocks information
  • Geometry: The final geometry, which will be sent to the graphic card, is computed


The last measurement (loading 80m) is easier to understand. It represents the time really needed by the game to fully load, at the maximal view distance. The sum of the engine’s key steps can be greater than this time, because it is parallelized.

/img/newsblog/codingmarmot/profiling-poping.png

As you can see, a first set of optimizations was already included in the multiplayer version, and more have been implemented since. Globally we already divided the loading time by two!

Note: These measurements have been done on an i7-4820K @ 3.7GHz with 32 GB RAM and a NVIDIA GeForce GTX 960 using the universe seed 1.

CodingMarmot.
Comments
CodingMarmot Posts: 922 Registration: 2014-04-15
En effet, les mesures sont faites sur des tâches plus petites, qui se mesurent plus en millisecondes, et sont toutes interlacées, étant donné que le chargement se fait au fur et à mesure.
Cependant, pour ces tests, j'ai pris la somme de tous les temps passés dans les différentes étapes majeures, nécessaire pour charger le monde à une distance de vue de 80m à partir de rien. In game, si vous vous déplacez avec une distance de vue à 80m, vous ne paierez donc pas un coût de 53s pour tout recalculer, car ce qui est déjà calculé n'est pas recalculé. Mais mesurer le temps global est assez stable pour faire des statistiques, et voir la progression des optimisations.

Donc en pratique, quand on se déplaçait, si le chargement suivait déjà à une distance de vue donnée (proche de 80m car les coûts ne sont pas tout à fait linéaires), on pourrait théoriquement pouvoir courir deux fois plus vite. Ou alors si ca ne suivait pas à 80m, ça suit maintenant mieux.

Par contre, il faut savoir que passer la distance de vue de 40m à 80m (x2) a un coût d'un facteur 4 à 8 sur la mémoire, le temps de calcul, et une partie du temps des FPS.
#7 2015-11-26
cyberjasse Registration: 2014-08-03
C'est franchement une bonne idée d'optimiser une partie maintenant pour ne pas priver ceux qui n'ont pas une machine de guerre des véhicules.

Mais il ne manque pas une info ? Vous avez mis comme unité de temps les secondes. Ce serait pas un µs ? Ou alors un certains nombre de chargement ou sur 1 secondes active du jeu ?
#6 2015-11-25
Darky Posts: 39 Registration: 2014-04-21
Optimize often! that make everyone happy :D nice job.
#5 2015-11-25
Spolio Posts: 69 Registration: 2014-06-22 Popularity: 30
Le jeu est super beau, les ennemis en place, l'inventaire aussi, moi je suis surpris pour la suite et je l'attend impatiement !
#4 2015-11-25
thesandgamer Posts: 222 Registration: 2014-05-02
Les véhicules seront pour la beta.
Moi aussi j'ai hâte de voir la suite des news.^^
#3 2015-11-25
Vexrris Posts: 314 Registration: 2015-01-09
ça fait plaisir de voir que l'optimisation avance ! surtout pour les petites configurations. Le jeu vaut vraiment le détour en épique avec 80 mètres !

Hâte de voir la suite des news ! Les véhicules pour la suite, ou enrichissement du craft ?
#2 2015-11-25
madsmtm Posts: 20 Registration: 2014-06-02 Popularity: 17
This is really nice! More than anything, optimizations is what this game needs, just due to its nature. Great work, keep it going
#1 2015-11-25
Show Older Comments

Please confirm the comment deletion

Are you sure you want to delete this comment (this operation cannot be undone) ?
CancelOK
Close We use cookies to ensure that we give you the best experience on our website.
By continuing to browse the site you are agreeing to our use of cookies. Click here for more information about cookies.

Altalus

Send a friend request to

Send Request Cancel
Close

Do you really want to report this nickname () as abusive?

An error occured...Please retry or contact us to solve the problem

Thank you for accepting the forum terms of use.
You now have access to all the forum features (including creating new topics and messages)".

Modify Delete Subscribe to the Stellar Overload news RSS feed
Cancel Submit