Performance Guide#

The foundation of Crest is architected for performance from the ground up with an innovative LOD system. It is tweaked to achieve a good balance between quality and performance in the general case, but getting the most out of the system requires tweaking the parameters for the particular use case. These are documented below.

Quality Parameters#

These are available for tweaking out of the box and should be explored on every project:

  • See parameters under Water Renderer ‣ Level of Detail which directly control how much detail is in the water, and therefore the work required to update and render it. These are the primary quality settings from a performance point of view.

  • Adjust resolution of simulations on a per-simulation basis.

  • Persistent simulations can have their frequency reduced to improve performance.

Features#

  • The water shader has accrued a number of features, and has become a reasonably heavy shader. Where possible these are on toggles which can be disabled to will help the rendering cost.

  • Disable any unused simulations under Water Renderer ‣ Simulations will help.

  • By default, there are several extra passes to accomodate the Collision Layers feature. If this feature is not needed, performance can be improved by disabling it.

Mobile Performance#

Mobile is not the primary target for Crest, but the following are some hints on getting better performance:

  • Crest can be draw call heavy which mobile platforms can be sensitive to. Together, reducing the Water Renderer ‣ Level of Detail ‣ Levels and increasing the Water Renderer ‣ Level of Detail ‣ Scale minimum can significantly reduce draw calls.