Starfield’s Poor PC Performance Due To “Major Programming Faults”
A new discovery by Vkd3d developer Hans-Kristian Arntzen sheds some more light on the crashes and performance issues players have been facing in Starfield. Vkd3d is the library that Starfield and a lot of other games use to implement Direct3D 12 API on top of Vulkan. In a new pull request (which is equivalent to an update for software, in simpler terms), the developer highlights that Starfield has a number of inefficient ways of handling things which can cause performance issues. While the developer's comments are quite technical and might not make sense to you unless you're into that sort of thing, Redditor Nefsen402 has simplified the whole thing.
The first issue is Starfield's incorrect allocation of memory, where Starfield's memory allocation is not aligned with CPU page size. This is likely the root cause for the crashes, as a misalignment can easily cause memory corruption. However, more than the crashes, it is the other two programming faults that are likely creating more of an impact.
Starfield uses a Vkd3d feature called ExecuteIndirect to give some inputs to the GPU. Think of it as you giving your friend directions while they are driving a car. Now instead of giving clear directions, you end up telling your friend to go both right and left. This will cause your friend to reevaluate your directions, making the process inefficient.
While this is an extremely high-level idea, it is somewhat similar to what Starfield is doing, giving vague hints to the GPU, consequently leading it to do unnecessary work. These vague hints cause "bubbles", which cause the GPU to reevaluate its decisions. To make matters even worse, these ExecuteIndirect calls are repeatedly sent to the GPU one after the other, instead of being batched together which further amplifies the impact of the previous issue.
Thankfully, the Vulkan developer has released a fix for it, where they evaluate the ExecuteIndirect commands to decide whether they need to take any decision at all, which saves the overhead needed to reevaluate it. Additionally, similar commands are batched together as well, which makes it way more efficient than the sequential approach Starfield takes.
This is not the first time Bethesda has been under the scanner for its programming faults. If we roll back the clock to Skyrim Special Edition's release, the game's inefficient handling of mutexes was taking a huge toll on the performance. For starters, mutexes prevent multiple threads from changing the same thing. For instance, if we go back to the car analogy, it's like you and your friend trying to control the steering at the same time.
Thankfully, this was spotted by the community and a mod was released to address it, and the same is expected for Starfield as well. While the issue has been found and addressed, it will be interesting to see when this change finally makes its way to players and how much of an impact it makes.
Posted:
Related Forum: PC Gaming Forum
Source: https://www.dualshockers.com/starfields-poor-pc-performance-major-programming-faults/
Related Articles
Comments
QTPosted:
Billet Can't say I've noticed anything tbh
Neither have I. But thats to come with new games. Let them work out the bugs and itll be fine.
Latest Downloads
- 01. LEGO Star Wars: The Skywalker Saga - SaveGame (The game done 100%) [Steam](1)
- 02. Through the Woods: SaveGame (The Game done 100%) [Steam](0)
- 03. Humans are not that against Lizardwomen: SaveGame (The Game done 100%)(1)
- 04. Tekken 1 100% save game file for Retroarch US version(0)
- 05. The Expanse: A Telltale Series - SaveGame (all chapters are opened, trophies are unlocked)(1)
- 06. Need for Speed: Most Wanted (2005) - SaveGame (Good start, 6 cars) [1.0](1)
- 07. Commandos: Strike Force - SaveGame(1)
- 08. Mario Party 2 100% Complete Save(1)
- 09. Mario Party 2 (Virtual Console) Save(0)
- 10. My Summer Car: SaveGame (Satsuma blue moon)(0)
- 11. [EU] Dark Souls 2 SOTFS Modded Starter Save(7)
- 12. Saints Row: SaveGame (Arena of Death, 31% storyline)(1)
- 13. Lies of P: SaveGame (100%, all bosses killed, level 85 hero)(4)
- 14. PainKiller Supernatural 2.0: SaveGame(0)
- 15. Supermarket Simulator: SaveGame (100lvl, 100k money) [0.12.4](2)
Latest Tutorials
- 01. The Redress Of Mira 100% Walkthrough | Trophy & Achievement(771)
- 02. Russian Pinocchio Quick Trophy Guide(1,030)
- 03. Venatrix Quick Trophy & Achievement Guide(1,108)
- 04. Call of the Sea 100% Platinum Walkthrough(1,020)
- 05. Wire Lips 100% Platinum Walkthrough(1,154)
- 06. The Expanse 100% Platinum Walkthrough | Trophy & Achievement(1,005)
- 07. Doctor Who: The Edge of Reality - PS4 Platinum P/Thru(930)
- 08. Doctor Who:The Lonely Assassins - 100% Guide(786)
- 09. DAYMARE 1998 PS4 - Full game 100% TROPHY WALKTHROUGH(820)
- 10. Stray Platinum Walkthrough | Trophy & Achievement Guide(766)
- 11. Raji: An Ancient Epic | Complete Gameplay Walkthrough(1,035)
- 12. Corpse Killer: 25th Anniversary Edition - Longplay(1,035)
- 13. Song of Horror: Complete Edition Gameplay Walkthrough(721)
- 14. Remoteness 100% All Trophies Walkthrough(1,153)
- 15. Detective Inspector Mysterious Clues Platinum Walkthrough(853)
"Starfield’s Poor PC Performance Due To “Major Programming Faults”" :: Login/Create an Account :: 4 comments