Skip to content

NextGen Disk Cache 2.1.0

Latest

Choose a tag to compare

@SenjuWoo SenjuWoo released this 05 Aug 23:19
· 8 commits to main since this release
4755359

The unbenchmarked read-ahead hint now ships OFF

A real 1.6.1170 session logged:

Stats snapshot: opens=26162 patched=6481 no_buffering_stripped=0 in_scope_safety_gated=0 warm_read=0 MB

no_buffering_stripped=0 means the engine never set FILE_FLAG_NO_BUFFERING on that runtime, so the cache-restoring half of this plugin had nothing to do. That left FILE_FLAG_RANDOM_ACCESS as the only live effect the plugin had — and that flag is a caching hint that disables the Windows cache manager's read-ahead, where the FILE_FLAG_SEQUENTIAL_SCAN it displaces enlarges it. It has never been benchmarked as a win, and it was being applied to thousands of archive opens per minute.

An unmeasured change at that rate is not a safe default. Safe now ships bPreferRandomAccessOnArchives=0.

If your game has felt subtly off with 2.0.0 installed, this is the change to take.

Changes

  • Safe: bPreferRandomAccessOnArchives=0. The only change it makes now is removing FILE_FLAG_NO_BUFFERING when the engine set it. If your runtime never sets it, Safe deliberately does nothing at all.
  • Experimental: keeps the hint ON, so you can A/B the two profiles on the same save and route.
  • Minimal: now behaviourally identical to Safe. Documented rather than removed so existing installs keep working; it differs only in that the periodic stats line is not logged and warm-cache budgets are hard-zeroed.
  • The log now states in plain words when the plugin made no difference on your runtime, instead of leaving you to interpret counters.

Not changed

Hook scope (narrow SkyrimSE.exe IAT by default), safety gates, archive eligibility rules, and the DirectStorage backend (still disabled and not shipped).

Compatibility

The default Safe/Minimal hook patches only SkyrimSE.exe's own import table, so file opens made by other SKSE plugins never reach this plugin. Verified against FasterCellLookup and FasterFileCopy — no interception, no collision. Only Experimental (iHookScope=1) uses a process-wide hook.

Verification

File SHA-256
NextGenDiskCache-2.1.0-FOMOD.zip 66134769bbc6ff3797d13cbfae32757e4caa648744c38ead606dc79c27288df2
NextGenDiskCache.dll (inside the zip) c7093cd03052e6a9a79b4e988d0306fd33b77f42f4abd6f29f367e42c036fefe

Both files are the unmodified GitHub Actions build from this repository at tag v2.1.0 (run 31055869239). The matching PDB is attached separately and is not inside the FOMOD zip.

Full source is in this repository. python tools/validate_rc.py reproduces the release gate.

🤖 Generated with Claude Code