Bethesda’s much-anticipated game, Starfield, took the gaming world by storm upon its release. But its arrival wasn’t without its technical hiccups. PC players, in particular, have been plagued with performance and technical issues since its launch. A potential reason behind these issues might have been discovered, offering a glimmer of hope for frustrated gamers.
Gamers from the PCMasterRace subreddit may have found an underlying cause for Starfield’s performance drop. This discovery doesn’t promise a universal fix but addresses a major issue regarding the game’s communication with hardware.
The Technical Explanation
Starfield’s core problem lies in its interaction with graphics hardware:
- Memory Allocation: Starfield’s allocation of memory doesn’t conform to the standard CPU page size. For GPUs without the required robustness, this results in random game crashes.
- ExecuteIndirect Feature: Starfield deploys a DX12 feature known as ExecuteIndirect. This feature relies on correct hints from the game for the graphics driver to process. Unfortunately, Starfield sends inaccurate hints. As a result, the graphics driver stumbles, forcing the GPU to pause, re-check its assumptions, and then resume. This constant start-stop severely hampers performance.
- Batching Issues: Starfield sends multiple
ExecuteIndirect
commands sequentially rather than batching them. This means the aforementioned problem intensifies, further degrading performance.
The Open-Source Solution
The potential solution traces back to the Vulkan port to Proton – Valve’s translation layer, allowing Linux users to play Windows games. A change log by Hans-Kristian Arntzen, a developer, highlighted these issues. The current fix is restricted to a specific code fork but offers critical insights for hardware giants like Nvidia and Intel.
It’s especially pertinent for Intel, given the reported issues with their new Intel Arc GPUs and Starfield. Although Bethesda claims Starfield is optimized for PCs, players with top-tier hardware, like RTX 4090, continue to face challenges.
Layman’s Version
For the less technically inclined, here’s a simple breakdown, as explained by one of the users on the Subreddit:
The person who works on Vkd3d, a tool that helps games run better, has shared some important information about a new version they’re going to release soon. They also talked about a problem they found in a game called Starfield, which can cause issues with your computer’s graphics.
- Starfield doesn’t use computer memory correctly, which can make the game crash sometimes if your graphics card isn’t very good at handling it.
- Starfield uses a fancy graphics technique called ExecuteIndirect, but it doesn’t give the right instructions to the graphics card. This confuses the card, and it has to stop and start over, which can slow things down.
- Starfield uses ExecuteIndirect to make the problem from #2 happen many times in a row, making things even worse.