What is the in right way to Warm Up Shaders?

Hello, I’m trying to find a way to effectively Warm Up necessary shaders in minimum amount of time. Shader.WarmupAllShaders takes extremely long (20s, I’m using lots of shaders).
I’m honestly don’t understand how Shader.WarmupAllShaders works, but it seems to me that it load shaders in all possible combinations(?) and most of them never show in game.
So as i understand i need to manually chose and show necessary shaders to warm up them, or there is better way?
Do i need to do it at the start of each scene, or one time on app stat is enough?

Thank’s!

It’s an old post, but just in case anyone stumbles across this, here’s a link: