using Hybrid renderer is poor performance ?

Hi everybody , :smile:

I tried to implement DOTS in my project with for begenning : Entities and Hybrid rendering package.
i’m using Unity 2021 last LTS release.

The probleme is I have notice that my FPS in build are lower with the Hybrid renderer…

I did the test with 2 setup :

  • The first with no dots package at all , 1000 clone object with no physics , just a material ans set to static

-And the second , the exact same project but with adding Entities/Hybrid Package with all GameObject set to “Convert to entities” , “Convert and destroy”, and with the included component “StaticOptimizeEntitiy”

I have 500 FPS for the Gameobject setup, and 400 for the Entites …

I checked the profiler and I see that the “Hybrid.renderer” process take 15-20% more …

So am I using these package on the wrong way ? or is it just normal ?
If I understood correctly , It’s obligatory to use Hybrid renderer with dots to renderer entities ?

Have a great day ! :slight_smile:

Normal. It is a fixed overhead cost to handle much greater scalability. It also isn’t the most optimized in 2021.

Add more objects, and see what happens.

Exactly. 1000 objects isn’t even beginning to push the limits of Entities. Try 100,000! :wink:

Also, just thinking out loud but no idea if this is applicable in Hybrid renderer: do the materials have GPU instancing enabled?

GPU instancing is not compatible with the SRP batcher. (I think it will silently ignore it)

That’s not completely true. There’s two types of GPU batching nowadays - DOTS instancing & default GPU instancing.

In case of first - SRP batching not be applied to those materials by default.
(Due to how Entities Graphics / Hybrid Renderer works);

In second case - SRP batching will not be applied IF shader is not compatible with SRP batching.

However, it will perform GPU instancing just fine (if its supported that is).
So if shader is not compatible it will fallback to default rendering techniques.

Manually “breaking” SRP compatibility allows the use of GPU instancing, and in cases where GPU instancing is faster - its faster than SRP batching, but comes with its own cons.

3 Likes