Hello, fellow Unity users.
I am working on a VR simulation using the HDRP (I know is not the appropiate pipeline, but our target hardware is very high-end, and URP limitations are a problem), and, of course, I have numerous performance issues.
After doing some works of optimization, I have arrived to a curious situation.
My scene consist in a concert stage. Right now, I have this not-too-fancy low-res seat model populating all the scene.
This makes the draw calls increase to:
Of course, being the same model with the same material, I enable GPU instancing to reduce draw calls.
My surprise? To see that the number doesn’t change at all:
If I go to the Frame Debugger, I see the same draw calls:
Static Batching doesn’t help too much, too (yes, it is deactivated to not override GPU instancing).
The draw call incresing is not too much in this case, but when I start adding models and detail to the scenery, instancing not working makes the performance drop exponentially.
I have seen numerous users complaining about GPU instancing being a little erratic. Sadly, documentation and info about the HDRP is scarce and messy.
For (duh) instance, I read about the SRP batcher interfering with GPU instancing in one forum, but I found (through code, because the checkbox isn’t anymore :() that the Batcher is disabled by default.
So: any clue of what is happening? Is GPU instancing even compatible with VR? Is really an engine issue, or is that I am losing something important?
I will be grateful about some doc/advanced tutorial on how to interpret the Frame Debugger, as it seems a very powerful tool, but right now is very cryptic and difficult to read.