Starfield's PC Performance Stems From 'Grave Coding Errors', Vulkan API Developer Says
Upon closer examination of Starfield's code, the likely reasons for the game's poor optimization on PC emerges.
Starfield has been with us for nearly a week now. The premiere fever seems to be subsiding, and gamers are noticing more problems plaguing Bethesda's space RPG. One of the key inconveniences being discussed is the game's PC optimization, which leaves a lot to be desired.
It turns out that the problem may lie quite deep, with "serious mistakes" being made in the game's design.
Starfield out of breath
Contrary to recent assurances by Todd Howard that Starfield has been optimized well, and the problem lies with gamers' PCs, an analysis by Hans-Kristian Arntzen, one of the developers using Vkd3d (a library that translates from DX12 to the Vulkan API), has appeared on the web.
Arntzen discovered a couple of disturbing findings in Starfield's code that could put a significant strain on our GPU.
- First, Starfield improperly allocates memory, not matching it with the processor. This is supposed to be the main cause of any crashes and freezes.
- The second problem is supposed to be the fact that Starfield uses a DX12 function called ExecuteIndirect to pass "hints" toward GPU drivers. Unfortunately, Starfield is supposed to send hints in a vague way, which causes the whole process to be reprocessed by the GPU from scratch.
- In addition Starfield calls a lot of ExecuteIndirect commands one after another, instead of combining them, to further compound the problems.
Considering the above points, it can be said that Todd Howard's assurances of good optimization have become unreliable. The community is already trying to find a workaround for this problem (a dedicated thread on Reddit has so far garnered nearly 5,000 reactions and more than 1,100 comments), and it's clear that the story will come full circle again: Bethesda releases the game, and players fix it.