More efficient reflection texture?

Sooooo, I have a scene where the second I enable a reflection texture the FPS tanks from 140 absolute fps to about 40.

What would be some methods to save some of this computation expense?

This is really strange what is the size of the reflection texture ? and could you repro in the playground so we go to the bottom of it ?

yas, I figured this was kinda odd.

I will have to mock up a scene that is similar, that will take me till the end of the day here.

So doing a mock up I have noticed that my GLB’s seem to make way way way more drawcalls then they should?

https://playground.babylonjs.com/#RL99GH#2

Is essentially doing the same thing as my scene and the draw calls stay around 50.
Here is the mesh report from the playground:
image
And here is the mesh report from my local:
image

I dont understand why the same process would create triple the draw calls when making them from GLB’s instead of a MeshBuilder.

I guess I need to get a rack of GLBs imported into the playground and replicate the process to see now.

2 Likes

https://playground.babylonjs.com/#RL99GH#3

Ohhhhh its the reflection texture that triples the drawcalls!

Ok? Ummm whats a workaround?
I cant use SSR because then I cant make the ground be transparent. (I dont think)

There are no workarounds here, if you want the reflection or mirror unfortunately you need to draw it :frowning:

Asking @julien-moreau for the SSR part ?

Hey, just tried my own post-process (lol) and finally worked with a fully transparent ground: https://playground.babylonjs.com/#PIZ1GK#82

For the draw calls, the SSR will work only with WebGL 2 (or Web GL 1 with draw buffers extension available) and will need the geometry buffer renderer to be enabled (which will double the draw calls).

2 Likes

@julien-moreau you should look how @CraigFeldspar did the SubSurface that we will reuse for both SSA02 and defered :slight_smile:

1 Like

Hey hey sure I already had a look to the PR =D

1 Like