Overview
Short:
This plugin makes Starfield use OS’ file cache, which leads to less disk access over time. Especially good for HDD. Less freezing, Less sound drop.
Long:
On Windows, we use “CreateFile()”. When you access a file or a device, and this function gives you some options to play for specific purposes.
The game “Starfield” which uses “Creation Engine” has a dedicated binary reader like many other game engines. This binary reader part reads files from filesystems.
Unlike other major game engines, Starfield uses the following flags for CreateFile(): FILE_FLAG_OVERLAPPED, FILE_FLAG_NO_BUFFERING, and FILE_FLAG_SEQUENTIAL_SCAN.
Okay. However, there is a problem with “FILE_FLAG_NO_BUFFERING”. This flag tells the OS not to leave file on memory after it is read.
Workloads in Games are pretty predictable. Like character animation, footstep sounds, textures or anything soon will eventually be used again and will not change. Without the file cache, the system must read from disks whenever needed, which results in a considerable performance impact on slow drives like HDD.
Additional notes:
If Starfield is installed on SSD, this plugin may improves I/O-related performance but not much. Less disk I/O, better performance.
How to install
SFSE – Steam
1. Get SFSE
2. Unzip “Data” in “SFSE” to Starfield installation.
3. Launch Starfield with SFSE so the plugin can be loaded.
ASI – Steam (Game Pass not tested)
1. Get “Ultimate ASI Loader”
2. Unzip “plugins” in “Generic-ASI” to Starfield installation root. (Where “Starfield.exe” in – Same as ASI loader)
DIY
1. Use “ASI-Generic” version.
2. The plugin patch code is in “dllmain” so you do you own. your own injection method.
Below for developers
Source code notice:
ISC license.
Requirements:
CMake
C++ Compiler: Clang, GCC, MSVC-CL. Anything you like.
Credits:
Archost