-
Bug
-
Resolution: Unresolved
-
P4
-
internal
-
generic
-
windows
The D3D12 backend performance is lower than D3D9 (sometimes even much lower) on a discrete GPU system (RTX 4080S, Ryzen 7950X). To summarize:
- 3D examples - ~60% of D3D9 performance (only exception is 3DMesh which happens to confuse the D3D9 driver and make it much slower)
- 2D examples - 20-40% of D3D9 performance
- Text rendering - 5% of D3D9 performance
Cause is not yet known, but it can relate to some things specific to discrete GPUs, notably:
- 2D Ring Buffer being CPU-visible, which can slow down rendering of 2D primitives - Vertex Data resides on RAM instead of VRAM which can slow down processing on GPU side
- Use of only one Command Queue - discrete GPU systems tend to expose multiple hardware processing queues for certain operations, which can parallelize and speed up execution
Investigate and fix root causes of low performance.
- 3D examples - ~60% of D3D9 performance (only exception is 3DMesh which happens to confuse the D3D9 driver and make it much slower)
- 2D examples - 20-40% of D3D9 performance
- Text rendering - 5% of D3D9 performance
Cause is not yet known, but it can relate to some things specific to discrete GPUs, notably:
- 2D Ring Buffer being CPU-visible, which can slow down rendering of 2D primitives - Vertex Data resides on RAM instead of VRAM which can slow down processing on GPU side
- Use of only one Command Queue - discrete GPU systems tend to expose multiple hardware processing queues for certain operations, which can parallelize and speed up execution
Investigate and fix root causes of low performance.
- blocks
-
JDK-8356858 ☂ JavaFX D3D12: Performance optimization of D3D12 backend
-
- Open
-