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.

            Assignee:
            Lukasz Kostyra
            Reporter:
            Lukasz Kostyra
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: