Search Issue Tracker

By Design

Votes

0

Found in

2017.4.0f1

2018.4.0f1

2019.2.0a1

2019.3.0a1

2020.1.0a1

2020.1.0a3

Issue ID

1184876

Regression

No

Depth-only RenderTexture allocates too much GPU memory on D3D11 and D3D12

Texture

-

How to reproduce:
1. Open attached project "d3d-depth-only-rt-overallocates.zip" and scene "SampleScene"
2. Enter Play mode
3. Launch "Windows Sysinternals Process Explorer" (an external tool for monitoring windows)
4. Double Click the unity process to open its properties
5. Go to GPU Graph tab
6. Observe/monitor "Committed GPU Memory"

Expected Result: we should be 4096x4096x10 rt x 4 bytes = ~670 MB (or 500 MB if 3 bytes per pixel).
Actual Result: around 1000MB

Reproducible with: 2017.4.32f1, 2018.4.10f1, 2019.2.7f2, 2019.3.0b4, 2020.1.0a5

Additional notes:
On D3D11, the allocation is twice the expected amount. It's much worse on D3D12.

  1. Resolution Note (2020.1.X):

    Depth-only rendertextures are meant to be high precision depth textures. On D3D11 and D3D12 this means that there are 32bits for depth, 8 for the stencil buffer and 24 unassigned bits. This results in a 64bit per pixel buffer.

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.