Improving performance of my Wave Engine games (2/2)

This article is the second part of how to improve performance of my Wave Engine games. So if you do not know it yet, I recommend you read the first article before you start.

In the first article we showed how Wave Engine´s render works and how many draw calls are need to render entities. In this second article we are going to review two interesting techniques that allow you to reduce the number of draw calls to render your scenes.

Static Batching

This technique allows you to group many meshes on a single mesh so the engine will be able to render multiples entities as one.  But some limitations exist that we need to know before we use it:

  • It is necessary to mark your entities as Static, this means that these entities cannot be translated, rotated or scaled when running your
  • All entities must share the same material instance.

To mark an entity as Static you can set the Static checkbox on Wave Editor´s Entity Details Panel:

Continue reading Improving performance of my Wave Engine games (2/2)

Improving performance of my Wave Engine games (1/2)

In this article we are going to review some graphic concepts that will help you to improve performance of a Wave Engine game. We will make use of Visual Studio 2015 Graphics Diagnostic Tool so if you do not already know it, we recommend to read this article before you start.

Your games performance depends on a lot of factors, in this article we focus on drawing performance and some features you must know if you want to improve it.

Wave Engine’s Rendering System

Wave engine uses Light-Pre pass Deferred Rendering system to represent dynamic lights starting from version 2.0.  This technique is very powerful because allows you to render multiple dynamic lights but it is more expensive than using lightmaps to represent static lights, so you must choose what technique is more appropriate to use for your game.

We are going to research how many “draw calls” are need to draw a simple Entity with texture without dynamic lighting:

Continue reading Improving performance of my Wave Engine games (1/2)