Starfield has been a global hit since its official launch a week ago. While the game promises unparalleled exploration, encompassing 1,000 different planets, it suffers from a variety of technical issues. One of them, and probably the most notorious is poor performance across the board.
A VKD3D developer has discovered major programming flaws in Starfield that absolutely wreck your GPU’s performance. This is further proven by the abnormal behavior with both NVIDIA and AMD GPUs. The same faulty piece of code is reiterated over and over, which only makes the situation worse.
‘Programming Flaws’ Main Culprit Behind Starfield’s Poor Performance
The first instance of this issue being called out is seen by user u/nefsen402. Making things more comprehensible for the average user, u/LavaMeteor has summed up all issues in an easy-to-understand manner. The actual credit goes to the VKD3D dev, HansKristian-Work for pointing out all these problems.
HansKristian-Work, opened a change log citing a new release and a pull request detailing all the shortcomings and problems in Starfield’s software. Experienced users can read the actual documentation for more insight at the end of our article, however, we’ll go through everything here briefly.
Poor Memory Allocation
The first major issue is that Starfield doesn’t properly assign its memory requirements with respect to the CPU page size. Your computer’s memory is divided into pages, for ease of access. Optimizing code and its demands in line with the page size is critical for efficient software.
Should you fail to meet requirements, it may lead to inefficient memory access, degraded performance and even unexpected crashes. Due to some inadequacies in the code, Starfield is unable to allocate memory correctly. Moreover, this problem leads to game crashes, if your GPU drivers are unable to alleviate the situation.
‘ExecuteIndirect’ Induced GPU Bubble(s)
Before we start, this part is probably the bane of all your Starfield problems. The DirectX12 API packs a neat feature called ‘ExecuteIndirect‘. Furthermore, this operation allows the GPU to perform indirect rendering operations, without the CPU’s intervention. The GPU can execute necessary workload by using existing calculations.
Starfield’s buggy implementation of this feature causes confusion for the Graphics driver. The game sends in misleading hints to the driver, which now has the GPU going back and forth to see what’s exactly going on. In very basic terms, the GPU is doing no actual work and is fetching instructions that should have been provided from the start.
This results in a bubble, a phase where the GPU does no useful work and is totally bogged. Repeat this a couple of times, and you my friend have wasted a lot of useful resources. Multiple ExecuteIndirect calls are made and as such the issue persists and keeps on piling up.
The Community’s Testimonies
It is easy to jot down some jargon if it doesn’t affect the end user, but these bugs impact everything and everyone. In the same thread, many GTX 1080 Ti users face the same problem; the game just crashes out of nowhere.
Moreover, from Tom’s Hardware’s data, we see severe discrepancies between NVIDIA and AMD GPUs. The Radeon family has a power consumption near the rated TBP, which is routine for optimized workloads. However, NVIDIA’s side of things is pretty janky where we see a power draw delta of ~100W with the RTX 4090.
The RTX 4080 consumes between 187W and 263W of power whereas it’s actually rated for 320W. We do have a theory on why this issue is prevalent.
The ‘ExecuteIndirect’ flaw warrants high GPU usage but since the GPU isn’t doing any actual rendering, it draws significantly less power. This is weird since we’re used to seeing near TBP draw at 100% usage.
tl;dr Your GPU spends a lot of time doing nothing and gets stalled.
We cannot blame Bethesda completely, given how complex the software department often is. However, these issues should be addressed in a timely manner since you’re basically missing out on free performance.