Content that has a high degree of overdraw – multiple fragments shaded per output pixel – can suffer from poor performance because of the cumulative cost of shading all of the layers. This can occur even if the layers are individually simple, especially for devices running at high resolutions and frame rates.
Reduce overdraw in your application by:
- Ensuring draw calls are opaque:
- Disable blending
- Disable alpha-to-coverage
- Avoid shaders that use discard statements.
- Splitting large UI elements with a mixture of opaque and transparent parts into two draw calls; one for the opaque parts and one for the transparent parts.
- Changing the content to reducing the number of layers, pre-baking layers of transparency into a single flattened texture where possible.