Just like every month, the Dolphin Team has prepared a monthly progress update which summarizes what has happened to the Dolphin Emulator over the month and this time there have been some big removals. Firstly they removed the not too old Directx12 backend. The Directx12 Backend was once added and was meant to replace the old Directx9 backend but because of kinks of Directx12 and it being unmaintained they have now decided to settle with Vulkan which is as fast or nearly as fast as the Directx12 Backend. The second big removal was the longstanding JITIL (Just in Time Intermediate Layer) Recompiler since it had also been unmaintained for quite a while and would’ve needed to be completely rewritten. So let’s read the full post about why the Devs decided to remove these features:
“A project cannot survive for nearly fourteen years without making some difficult decisions. Sometimes you’re right, sometimes you’re wrong, but, to be successful you have to learn from each and every one. One of the most difficult decisions made for Dolphin was the deprecation and removal of D3D9 despite it being the fastest backend at the time. The promise was that we would take a step back then, and make huge gains in accuracy thanks to being able ot use integers throughout VideoCommon.
There was a lot of growing pains, a lot of driver issues, and a lot of unhappy users, but it set the tone for what would become the direction of Dolphin heading up to the version 5.0 release. One of Dolphin 5.0’s headline features was a brand new D3D12 backend, but as of 5.0-3774, we have decided to remove it. What we learned from the D3D9 backend helped us make that decision. Like D3D9, D3D12 had some core flaws we let slide under promises that it would continue to be maintained and fixed up. When that didn’t happen, it was decided we did not want another deprecated backend hanging around, blocking features and enhancements that require work within each backend.
Let’s not make any mistakes, the D3D12 backend was a tremendous gain for Dolphin, and what we were able to learn helped us know what to do when designing the Vulkan backend. Unlike the D3D12 backend, the Vulkan backend is actively maintained and does not have the design flaws that made D3D12 harder to work with. Removing D3D12 support also makes it easier for people to tinker with and compile Dolphin on Windows, along with the added bonus of reduced compile times.
Going forward, we’re going to continue to optimize the existing graphics backends. In our testing, the Vulkan backend was as fast as, or nearly as fast as the D3D12 backend in every benchmark. While different drivers and graphics cards will not all perform identically, we’re confident that moving forward the Vulkan backend will be able to handle the burden of users seeking the benefits of the newer graphics APIs.
…and that’s probably not the biggest removal this month. Dolphin’s longstanding JITIL (Just in Time Intermediate Layer) Recompiler was finally decommissioned and removed. It’s one of those great ideas that just didn’t pan out. It never could match the performance of compatibility of the JIT and it was unmaintained in recent years. To even consider JITIL a part of the future, it would have needed to be rewritten to support both Full MMU support and PIE compliance.
We know that some of you reading this are going to be upset or disappointed by these decisions. Hopefully, you stick with us and the future gains we make by handling these potential problems now more than pays for the temporary inconvenience. With that out of the way, we have a lot of great additions to the emulator in this month’s Dolphin Regress Progress Report!”
But this, of course, hasn’t been everything that’s happened in the month. The added a new low latency audio backend, fixed the AARCH64 JIT, fixed GBA <-> GCN Issues with the DSP-HLE, made Android Touch control Improvements, added an option to show the active game’s name in the title bar (because we always forget which game were playing ;)), fixed a delay problem in DSP-HLE, Added a “Load Gamecube Bios” option in the Tools menu, made Gamelist loading performance fixes for people with many “many” Wii and Gamecube games and announced that they are now switching from the old wxwidgets ui to Qt. These are quite a few things and if you would like to read the full report the Devs did to everything they fixed or added then you should really read the Blog Post here.
Source: Dolphin Emulator (Twitter)