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. Cabela's Dangerous Hunts 2011 SPECIAL EDITION(0)
- 02. Hellgate: London - SaveGame (completed to boss Berial)(0)
- 03. S.T.A.L.K.E.R. 2: Heart of Chornobyl - SaveGame (Before the final quests)(6)
- 04. EU - Digimon Survive (CUSA18242)(1)
- 05. Callisto Protocol - NG+ Hardcore File Save(0)
- 06. Goat Simulator 3: SaveGame (Save with full walkthrough and all items)(2)
- 07. S.T.A.L.K.E.R. 2: Heart of Chornobyl - SaveGame (before choosing between a varta and a monolith)(7)
- 08. Rock Band 3 99% Save Wii(0)
- 09. Dead Rising 2: Off the Record - SaveGame (50 lvl, 5.000.000$, S/A)(0)
- 10. Need for Speed: Undercover - Save Game (4th level of the racer)(0)
- 11. [EU] F.I.S.T.: Forged in Shadow Torch (CUSA28371)(11)
- 12. Ghost Exile: SaveGame (Level 50 with 30,000 money)(2)
- 13. S.T.A.L.K.E.R. 2: Heart of Chornobyl - SaveGame (progress from the Dump to the Boat)(13)
- 14. Cyberpunk 2077: Phantom Liberty - SaveGame (The areas have been cleared.(9)
- 15. Red Dead Redemption 2: Save Game (Chapters 3,4,5 with all bags)(7)
Latest Tutorials
- 01. PS3 HEN - Audio via a USB headset.(613)
- 02. Stumble Guys | Social Butterfly Achievement(337)
- 03. Last Days of Lazarus Achievement Walkthrough (Xbox/PS)(1,647)
- 04. EDENGATE: The Edge of Life - 100% Trophy/Achievement Guide(2,071)
- 05. Sherlock Holmes Chapter One | Walkthrough | No Commentary(1,669)
- 06. Morbid: The Seven Acolytes | Full Game Walkthrough(2,748)
- 07. Adam Wolfe | Full Game Walkthrough | No Commentary(1,805)
- 08. ALFRED HITCHCOCK: VERTIGO - 100% Walkthrough(2,193)
- 09. SHERLOCK HOLMES THE AWAKENED | Walkthrough | No Commentary(1,542)
- 10. Space Roguelike Adventure | Guide - Cheat Code!(1,768)
- 11. DETECTIVE Stella Porta Case | Trophy & Achievement Guide(1,325)
- 12. Tunic 100% Platinum Walkthrough | Trophy & Achievement Guide(2,032)
- 13. Outbreak: The Nightmare Chronicles Achievement Walkthrough(1,636)
- 14. Full Void 100% - Trophy & Achievement Guide(1,677)
- 15. Outbreak: Lost Hope #Xbox Achievement Walkthrough(2,454)
"Starfield’s Poor PC Performance Due To “Major Programming Faults”" :: Login/Create an Account :: 4 comments