Substrate - Feedback Thread

Thanks for the feedback!

I had no experience with Substrate, and I spent the last couple of days going through the documentation, talking with other devs and doing some testings, and I came to understand that Substrate works differently from the Legacy material.

I’ll check and make sure the documentation is clear about that. If you have more feedback about that please feel free to send me a DM with all that things that should be improved. This must be clear. I’ll check the tootip in editor also. but yes Substrate + Adaptive GBuffer is a different beast, more advanced and a higher entry point cost as of today. Substrate + Blendable GBuffer is production ready and we ship our games with it too.

Substrate with ‘Adaptive GBuffer’ will add 781 additional instructions to a material using the Shading Model: Subsurface, even if you just plug in a simple 3Vector or a scalar.

Substrate throw out more instructions yes because it needs to do more agressive packing with the new GBuffer containing closures, process substrate tree possibilities, Slabs needs to deal with more data more with new parameterisation, etc. But as I said that is not a good measure of performance in general (memory bandwith, occupancy, texture fetches, etc. also need to be accounted for) + we use dynamic branching to only execute code that is needed. Sometimes we cannot cull code before compilation and the compiler also fails to cull code. That is somethings we want to improve on for the Adaptive GBuffer.

Only looking at instruction count: it does give a clue but it is a very old school way to look at performance nowadays. If you want to ship a game today, you can use Substrate + Blendable GBuffer.

2 Likes