Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8370486

Low D3D12 performance on machines with discrete Nvidia GPU

XMLWordPrintable

    • 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.

            lkostyra Lukasz Kostyra
            lkostyra Lukasz Kostyra
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: