Microsoft reported that DirectX 12 (DX12) performs worse on HoloLens 2 compared to DirectX 11 (DX11). However, DX12 will be the default in Unity 6.
We confirmed this performance regression by comparing the performance data between DX11 and DX12 on Hololens2. Here are the box plots for each metric on Unity6:
Typically, an upwards trend indicates a regression over time/versions, so lower is better, except for maxCPUWorkload, where higher values indicate better performance.
From the graphs, we can observe the following:
- maxCPUWorkload is generally lower on DX12, which suggests worse performance in terms of the maximum allowable workload before FPS drops below 60.
- cpuFrameTimeMainThread, cpuFrameTimeTotal, and gpuFrameTime are higher on DX12, indicating worse performance.
- However, cpuFrameTimeRenderThread is lower on DX12, which is an anomaly compared to the other metrics.
The performance data is collected by running a performance project provided Microsoft: https://github.com/microsoft/MixedReality-Partner-DeviceTests please contact [Internal link] if you need details of the data collected.