Hermes - Performance Layer for VaM

Demo Scenes Hermes - Performance Layer for VaM

Download [1.42 MB]
Demos or "Lite" versions of Paid Content
NEW

Hermes control panel. Press Q outside of loading to open a panel that drives the plugin: build version (number, commit, date), library figures (packages, scenes, memory, cold index sizes), the list of loaded BepInEx DLLs, and one options page per Hermes DLL with a switch on every line. Nothing is hardcoded — the rows are read from each plugin's own config, so a new module or option shows up on its own. Clicking a switch writes the same setting you would edit by hand in the .cfg file; both give the same result.

The panel tells you when a change takes effect startup whether a patch is installed, sothey show "pending — restart VaM". Hermes-UI options apply immediately.

Master switch. General/Enabled in hermes.optimization.cfg turns all ten optimization modules off at once. The DLL still loads but patches nothing, and VaM runing with and without, without moving files around.

File search index (fileindex), now validated in production. On a 8,814-package library, VaM's package file search drops from 208 ms to 58 ms per call (-72%), on. Correctness was verified first: zero divergence from the native result over 3,188,457 entries re-scanned, matching order included.

This module stays OFF by default, it has only been proven on my lib. I'll stress test that feature before turn ON by default.

FIXES​

Items that ship with VaM had no thumbnail in. The tiles with no package badge (Heat UpTop, Heat Up Panty Sim, Heat Up Skirt Sim and others) showed a blank square. Their thumbnail lives inside the item itself rather than as a file on disk, and He file.

The "Customize" and "User Prefs" buttons are now wired again, along with two controls that were broken the same way : "Open in package" and the hidden-item indicator.

The plugin panel started below an empty strip. It now uses the full height available.

STORE BUILDER - Fully incremental.​

Rescans are now nearly instant. The builder walks your packages once instead of once per index, and only opens a .var file when something about it actually changing of interest are remembered as such —previously half the library (4,386 packages out of 8,819) was reopened on every run just to rediscover it had nothing

Measured on 8,819 packages / 397.8 GB: full build 68.7 s, rescan 0.4 s.

The builder now says why it could not reuse, covered four different situations; you now get one of: first build, incremental, written by another version, unreadable, or ignored (--full). A stale index is never deleted — it is replaced.

UPDATE NOTES​

Your existing .cfg file is not overwritten. default value; your current settings are kept.

fileindex stays disabled by default. To enable it: set Enabled = true and Verify = true, play one session, check for "0 divergence" in hermes-cache/last-session. Verify runs both the indexed and the native search on every call so it can compare them — it is slower than stock VaM and is not meant to be left on.

Update the exe and the DLLs together. The new store builder writes a v2 scene index; older Hermes DLLs only read v1.


Thanks to kretos, Bonobo2 and U2M for running the first release on their own libraries and reporting issues — Thanks also to 123GG for taking the time to write a review.
Back
Top Bottom