Performance
Tips and considerations.
Last updated
Tips and considerations.
Last updated
You can get a mobile demo to test the performance on your own device. If you have more questions about performance, contact me before purchasing!
You can also use the mobile shader variant, included in the 1.1.2 update.
In order to save on performance you can turn off features and they will get compiled out
In the Surface and Lighting section you can disable lighting in order to save on performance.
In order to get good looking waves, your water mesh should have enough vertices. However, too many vertices will result in degraded performance.
If your game has large oceans where the water plays a prominent role, you might need to do your own optimizations. Some ideas:
Instead of making a huge water plane, make it just small enough so it covers the screen and make the water plane follow the player. If you use world space UVs, things will match up nicely.
Instead of working with 1 large ocean plane, split it up into smaller tiles
Using a tile based system, you can spawn water tiles in/out based on the distance from the player
Using a tile based system, you can increase/decrease the level of detail of the water tiles based on the distance from the player
Using a tile based system, you can opt for more basic water shading in the distance
By default, the shader supports additional lights. You can disable this so the shader will only take into account the main light, this will improve performance. To disable additional lights, open the Stylized Water > Shaders > Libraries > Surface and Lighting > Lighting shader subgraph and disconnect the Additional Lights group.
This water shader supports planar reflections. These are rendered using a secondary camera and this can be expensive. To improve performance you can do one of 3 things.
Don't use planar reflections, don't add the planar reflections component to your camera.
Reduce the render scale of the planar reflections
Limit which objects are reflected using the layer mask
Since the shader generation process completely depends on shader graph, there are still some optimizations that they will do in the future that could improve performance.