Dolphin emulator sees big speed improvements with DirectX 12 support

Mario Galaxy Dolphin

In December, a member of the Dolphin community introduced an unofficial work-in-progress DirextX 12 backend for the GameCube/Wii emulator, claiming up to a 50% performance increase over DirectX 11. In just a couple months, that DX12 support has gone from side project to being implemented into the master build of its Dolphin emulator.

Dolphin, which has been an open source project since 2008, normally requires a GPU that supports DirectX 11.1 or OpenGL 4.4. User "hdcmeta" on the Dolphin forums experimented with adding a DirectX 12 backend, and it ended up being good enough to fully implement into Dolphin.

According to results from tests performed by users on the forums, the update mostly conforms to the existing DX11 backend, and provides decent performance gains over DX11 most of the time on both Nvidia and AMD GPUs, especially at 4K resolutions.

Dx12 Dolphin

The new backend is mostly based on the existing one. According to the description, "the main areas of divergence are resource binding and state management." Hdcmeta also wrote their own background thread to perform graphics processing, as it needs to be done manually on DX12 compared to DX11 and OpenGL drivers where it is done automatically.

Dx12 Dolphin 2

This doesn't mean the DX12 backend is finished; it's still in development, and there's still work to be done on compatibility and bugfixing in the future. But its integration into the master build of Dolphin is exciting news, because that means it will be included in the upcoming 'stable' 5.0 build of the emulator, which has content freeze in place to allow the dev team to polish the stable release. Also, it's interesting to see an open source project like Dolphin introduce one of the very first implementations of DirextX 12, and to see such significant performance improvements come along with it. Ashes of the Singularity and Fable Legends both support DX12, but are still in Early Access/beta development.

TOPICS