The implementation of DirectX 12 in MSFS2020, still labeled as “Beta,” is a typical example of how many modern games approach DX12. Much of the complex functionality needed for DX12 is essentially ported from DX11 using a DX11-to-DX12 wrapper. This acts as a kind of “DX11 emulator” within DX12, allowing developers to retain the simplicity and convenience of DX11’s abstractions. These abstractions handle tasks like VRAM management, which is a major challenge for game developers.
However, to fully utilize the potential benefits of DX12, such as better optimization and hardware-level control, developers need to avoid relying on wrappers. Instead, they must implement their own VRAM management, tailored to the specific requirements of their game. This is an incredibly challenging task because DX12’s low-level approach shifts significant responsibilities from the API and drivers to the developers.
For a flight simulator like MSFS2020/24, this problem is even more daunting. The game needs to handle vast landscapes and textures projected over large distances, requiring constant texture streaming. Each frame involve swapping in a large chunk of unique textures with zero reuse (bing aerial photos), except for static objects. Managing this dynamic workload efficiently while maintaining performance is a significant engineering challenge, especially since you idealy need to keep in Vram textures offscreen, otherwise you’ll loose the benefits regarding stuttering when panning the view!
This situation is comparable to what happened with X-Plane 11’s transition to Vulkan, another low-level API with a philosophy similar to DX12. Users running ortho imagery, same as what MSFS streams on the ground, noticed severe performance issues because the engine struggled to manage the massive texture demands. Vulkan, like DX12, requires developers to manage VRAM entirely on their own, something that was previously handled by refined processes in older APIs and drivers.
Before DX12, Vulkan, or Mantle, VRAM management was largely automated by APIs and drivers. Companies like Microsoft and NVIDIA spent decades refining these systems, employing some the best engineers and devs to ensure best efficiency possible despite automatization. Game studios simply don’t have the same resources or expertise to develop VRAM management systems from scratch, especially for games with massive texture demands like flight simulators. Achieving optimization without relying on high VRAM capacities is a monumental task.
Most game developers today prioritize other aspects of development over deep optimization. Instead, they count on consumers upgrading their hardware to meet the increasing demands of modern games. As graphical complexity grows, optimization has become less feasible due to its high cost and time requirements. Developers often assume that players will “brute force” performance issues by using newer and more powerful hardware, which is the case in all honesty.
This approach isn’t likely to change anytime soon. Only the largest studios, like Rockstar Games or CD Projekt Red, can partialy afford the substantial investment needed for optimization. Even for these companies, optimization rarely translates to significant revenue growth, which limits its appeal in an industry focused on profits.
A related trend is the growing reliance on Unreal 5. Many studios are abandoning in-house engines because building a proprietary engine that meets modern expectations has become prohibitively expensive. Unreal 5 or Unity offers a well-supported and robust platform that are expected to solves many of these challenges. Because selling their engine is their business model, they can afford to spend the money working on optimization.
A critical issue facing the gaming industry is the departure of experienced senior developers. From my conversations with seasoned professionals I know IRL in mid-tier and major studios, it’s clear that dissatisfaction with workplace culture is a major driver. Toxic management and ideological clashes are causing a significant number of these experts to leave, resulting in a substantial loss of technical expertise. This exodus exacerbates the already challenging task of creating optimized game engines.
While I can’t speak for Asobo, I’ve been told striking examples from some major studios, where highly skilled developers I know in their 40s for example were pushed out. These individuals were often sidelined, mocked, or ignored simply because their views or approaches didn’t align with the new dominant ideology of newer recruits who were often hired precisely because they represented that ideology and had however alarmingly low experience and relitevely low real interest in gaming as a whole to top it all off. This disconnect not only discourages veteran talent but also leaves studios lacking the expertise needed for technically demanding projects.