Home / Forums / GPU Draw Call Optimization: Static/Dynamic Instancing vs Multi-Draw Indirect in DirectX

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Discussion

GPU Draw Call Optimization: Static/Dynamic Instancing vs Multi-Draw Indirect in DirectX

DirectXRay
DirectX 12 / Vulkan Dev
MEMBER
Rep: 240
Join Date: Feb 2023
Posts: 31
Thanks: 60
1y ago · Jul 7, 2025 1:33 PM
#1
Submitting individual DrawIndexed calls for 5,000 trees kills CPU performance. Hardware instancing submits all 5,000 instances in 1 single API call.
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
1y ago · Jul 7, 2025 5:56 PM
#2
DirectX 12 ExecuteIndirect and OpenGL glMultiDrawElementsIndirect let the GPU generate its own draw arguments directly from compute shader passes.
VectorByte | DirectX 11/12 Hooking & ImGui Overlays
Quote
Math is the language of game engines.
GlowShader
Shader & Overlay Artist
MEMBER
Rep: 185
Join Date: Oct 2023
Posts: 36
Thanks: 46
1y ago · Jul 8, 2025 12:56 AM
#3
Combining GPU frustum culling with indirect draw calls reduces CPU render loop overhead to virtually zero.
GlowShader | Shaders, Stencils & DirectX DrawLists