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

Graphics - General

-

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)

  1. 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;"

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.