Starfield
0 of 0

File information

Last updated

Original upload

Created by

Archost

Uploaded by

enpinion

Virus scan

Safe to use

About this mod

Use disk cache for IO for less disk activity. - SFSE and ASI plugin.

Requirements
Permissions and credits
Changelogs
Use OS file cache for less disk access.

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 (https://www.nexusmods.com/starfield/mods/106)
2. Unzip "Data" 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" (https://github.com/ThirteenAG/Ultimate-ASI-Loader)
2. Unzip "plugins" 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.



Compatibility
SFSE 0.1.0 or later
Starfield 1.7.23 or later (Version independent)


Verify patches
As of 1.2.1.0, "Verbose" mode added.

ASI/SFSE:
1. Go to Starfield install directory (where "Starfield.exe" located in)
2. Create a new text file. (Right click->new->Text Document)
3. Name it "DiskCacheEnabler.txt"
4. Start the game
5. Console window will pop up.
6. Remove "DiskCacheEnabler.txt" to disable this verbose mode.

---- Below for developers

Source code notice:
ISC license.

Requirements:
CMake
C++ Compiler: Clang, GCC, MSVC-CL. Anything you like.