Search Issue Tracker
By Design
Votes
0
Found in
5.2.0f3
Issue ID
729259
Regression
Yes
[Batching] Additional draw calls when batched objects are Interleaving
To reproduce the issue follow the steps:
1. Create new project
2. Import "BatchingTest52" Unity Package user has provider
3. Open "MainScene" scene
4. Play scene
5. Once "InterleavedOpaque" is enabled (cubes are interleaving) - additional draw calls appears
When pressing mouse button, game objects that handles different cases are are enabled/disabled
Comparison
Interleaved : http://screencast.com/t/FJ0RCq5QMB66
Non Interleaved : http://screencast.com/t/b1NwtkwWdd
Reproduced in 5.4.0a4 (c877ead45aff)
Regression from 4.6.x, 4.6.8f1 (583461196f73)
Comments (1)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Build and Run button greyed out for locally invalid architecture, despite remote build is specified
- Graphics Settings: “Use Defaults” checkboxes misaligned in Tier Settings section
- VFX Graph particles are not culled when using URP and Frustum Culling is enabled on VFX Mesh Output
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
Aras
Jan 28, 2016 08:54
By design. We added some rough front-to-back sorting for opaque objects, to increase GPU efficiency. So indeed this can result in more batches (more CPU work) but on many GPUs it's less work for the GPU, since depth buffer rejection works better that way.
Note that we only do that on GPUs where it matters, e.g. this is off by default on iOS GPUs since they don't really care which way opaque geometry is rendered.
So it's a tradeoff. If you know you more bottlenecked by the CPU, then turning this behavior off might be useful, e.g. "Camera.main.opaqueSortMode = UnityEngine.Rendering.OpaqueSortMode.NoDistanceSort;"