Home / Forums / DirectX 12 Descriptor Tables vs Root Descriptors: Performance Tradeoffs

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Tutorial

DirectX 12 Descriptor Tables vs Root Descriptors: Performance Tradeoffs

DirectXRay
DirectX 12 / Vulkan Dev
MEMBER
Rep: 240
Join Date: Feb 2023
Posts: 31
Thanks: 60
3y ago · Sep 24, 2022 8:10 PM
#1
Root Descriptors avoid descriptor table indirection by placing 64-bit GPU virtual addresses directly in the Root Signature.
DirectXRay · DirectX 12 & Vulkan Command Lists
The following users thanked DirectXRay for this post:
VectorByte
Graphics & DirectX Dev
VIP
Rep: 420
Join Date: Aug 2022
Posts: 39
Thanks: 115
3y ago · Sep 25, 2022 1:57 AM
#2
However, root signatures are limited to 64 DWORDs. Balancing CBV/SRV/UAV descriptor tables with root constants is key.
VectorByte | DirectX 11/12 Hooking & ImGui Overlays
Quote
Math is the language of game engines.
RenderMaster
ImGui UI Designer
VIP
Rep: 310
Join Date: Sep 2023
Posts: 32
Thanks: 82
3y ago · Sep 25, 2022 3:57 AM
#3
Binding frequently updated constant buffers as root descriptors saved noticeable CPU driver overhead in our benchmarks.
RenderMaster | Clean UI Design & Dear ImGui widgets