Skip to content

Releases: LTSharpe/OblivionRemasteredPerformanceFix

OblivionPerfFix 1.1.0-beta

Choose a tag to compare

@github-actions github-actions released this 18 Oct 20:49

For Oblivion Remastered, Steam build 19115871 (Game Pass experimental). Thanks to everyone who reported results on
NVIDIA, Linux and Mac.

  • Characters fading in no longer use extra video memory (NpcFadeInNoRebuild): each character that appears fades in
    over about a second, and the game rebuilt every piece of it for the graphics card on every frame of that fade. Where
    many appear at once, as on Anvil's docks, that briefly took more than a gigabyte of extra video memory and could
    freeze the game for 2-3 seconds. Now only the fade value is sent. Anvil docks at 4K: video memory peak at a dock exit
    13.0 -> 11.3 GB, no freeze, about three times the frame rate in the seconds after stepping out, +22 % fps walking the
    docks. The fade looks the same.
  • Game bug fixed: stretched robes and capes (FrozenClothStretchFix; happens without OblivionPerfFix too): a
    character's robe, tabard or cape could be left stretched into a long strip back to where they had stood. Frozen cloth now moves fully with its wearer when it
    changes detail level.
  • Our bug fixed: clouds vanishing after lightning (caused by 1.0.0-beta, not by the game; issue #1, thanks to the
    reporter's video and log from the Great Forest):
    after a lightning flash the sky and the cloud layer could go dark for a while and come back, flickering in and out
    through a storm. Our fix had stopped the game from choosing again, every frame, which light lights the sky, so the
    fading lightning light kept that role. While two lights compete for the sky, the fix now leaves them to the game as
    before. A rare case where old cloud values could reach a newly made sun or moon is fixed too.
  • New download for OBSE64 users: OblivionPerfFix-1.1.0-beta-OBSE.zip puts the fix into OBSE\Plugins, ready to
    use, for anyone whose version.dll is taken by another mod. No renaming needed.
  • Updates now also reach Nexus Mods automatically when a release is published.

Install

Steam: extract OblivionPerfFix-1.1.0-beta.zip into the game folder (right-click the game > Manage > Browse local files).
Xbox / PC Game Pass (experimental): extract OblivionPerfFix-1.1.0-beta-GamePass.zip into the game folder (usually C:\XboxGames\The Elder Scrolls IV - Oblivion Remastered).
With OBSE64, or another mod that already uses version.dll: extract OblivionPerfFix-1.1.0-beta-OBSE.zip into the game folder instead (the fix goes into OBSE\Plugins).
See the README for details.

Checksums (SHA-256)

a72d1cdcee0671a5d8934266e5466f0b1278db6ba7755565a8abbc020a57570b  OblivionPerfFix-1.1.0-beta.zip
c94c23d855df461f0c43992e7ec0e6450904ad64d23955f4e6d70c72a90feb49  OblivionPerfFix-1.1.0-beta-GamePass.zip
2196b63b07dd030715a6d622b83fe69c3de7b87b5c0d80acb7907cad71119c73  OblivionPerfFix-1.1.0-beta-OBSE.zip
fda418bc92a896283dddab9e5af11e9d505c5a4b71b9dfb23a92d4275d3ff04f  version.dll

Verify the build

These files were built by GitHub Actions from the tagged source. Check one with the GitHub CLI:

gh attestation verify OblivionPerfFix-1.1.0-beta.zip --repo LTSharpe/OblivionRemasteredPerformanceFix

VirusTotal

Each zip was uploaded by the release build:

OblivionPerfFix 1.0.0-beta

Choose a tag to compare

@github-actions github-actions released this 17 Oct 15:36

First public release (beta: tested on one PC so far, an AMD Ryzen 7 5800X with a Radeon RX 9070 XT; reports from other
hardware are very welcome). For Oblivion Remastered, Steam build 19115871; the Game Pass build is supported
experimentally.

  • Rendering: the frame's drawing work is translated on all CPU cores, the bone upload, weather and cloth updates do
    only the work that changed, and the graphics card's scene data for newly streamed areas is written by all helper
    threads. +22-25% fps where the CPU is the limit.
  • Travel: memory the game kept handing back and asking for again is kept; the physics engine takes in new areas
    over several frames and on helper threads; far-away characters are built a piece per frame; at a cell-row crossing,
    characters' animation data is taken apart on helper threads and the cells behind you are unloaded one per frame;
    navigation-map builds no longer stall the frame. On the Imperial City flight at 4K with frame generation: 72 -> 102
    fps, hitches of 50 ms or more 19.5 -> 4.8 per flight.
  • Doors and start-up: the new area's physics is prepared behind the loading screen (the first frame after a door
    about half as long); the start-up shader build runs at full speed while you are in menus.
  • Menus: menu opens about 0.15-0.3 s quicker at 4K.
  • Frame generation: +22-29% rendered fps with FSR frame generation on; AMD's ML frame generation (FSR 3.1.4 file,
    Radeon RX 9000) gets the camera data it needs and AMD's recommended pacing.
  • Crash fixes: the game's name table and trap code, Unreal Engine's video-memory tidying (UE-217692), AMD's frame
    generation library; FSR and frame generation come back after an alt-tab.
  • Safety: memory kept on purpose is handed back when Windows runs short; spare GPU command memory is given back when
    video memory gets tight; parallel translation stays off on graphics cards under 9.5 GB; a GPU crash writes a report
    into the log.

Install

Steam: extract OblivionPerfFix-1.0.0-beta.zip into the game folder (right-click the game > Manage > Browse local files).
Xbox / PC Game Pass (experimental): extract OblivionPerfFix-1.0.0-beta-GamePass.zip into the game folder (usually C:\XboxGames\The Elder Scrolls IV - Oblivion Remastered).
See the README for details.

Checksums (SHA-256)

d3097707738ac39441567fb65c914bc51355967181f524069f0778b3817fb51a  OblivionPerfFix-1.0.0-beta.zip
fd7a239bb5b3c35e5741245cd6b92a273d170091ccf3014bdfab90ff2978f3c8  OblivionPerfFix-1.0.0-beta-GamePass.zip
7dfcdb100540652a61f98a8d0de86763a9ed647b0eb1c14de5e100031c2675f4  version.dll

Verify the build

These files were built by GitHub Actions from the tagged source. Check one with the GitHub CLI:

gh attestation verify OblivionPerfFix-1.0.0-beta.zip --repo LTSharpe/OblivionRemasteredPerformanceFix

VirusTotal

Scan of OblivionPerfFix-1.0.0-beta.zip (SHA-256 d3097707738ac39441567fb65c914bc51355967181f524069f0778b3817fb51a): https://www.virustotal.com/gui/file/d3097707738ac39441567fb65c914bc51355967181f524069f0778b3817fb51a

Benchmark tools v1 (UE4SS for the benchmark)

Choose a tag to compare

@LTSharpe LTSharpe released this 17 Oct 15:30

Not the performance fix. This release only holds a tool that the benchmark suite downloads. To install the fix, take the latest v...-beta release instead.

What it is

UE4SS_v3.0.1-1161-g6eb3d9bc-oblvfix1.zip is UE4SS 3.0.1 experimental build 1161 (commit 6eb3d9bc) with one fix: every Lua call of a game function with an 'Out' parameter kept a reference to its table and never released it, so a mod that makes such a call every frame grows the game's memory by about 1 GB per hour. The fix releases the reference once the table is back on the Lua stack (upstream issue #1446; the same change is offered upstream as pull request #1452).

Only dwmapi.dll and ue4ss/UE4SS.dll are rebuilt; everything else is the upstream 1161 release zip, unchanged. BUILD-INFO.txt in the zip lists the source commits, the compiler and the SHA-256 of each rebuilt file.

tools\Setup-Bench.ps1 downloads it and checks the hash. The benchmark copies UE4SS into the game folder only while its own game runs and takes it out again when that game closes; the performance fix never uses it, and your normal play never loads it.

Checksum

SHA-256 C605C22AA02601CE5A98C6824FEB4BE88A286CB63A341EE976E024BB29549E84 (8,692,123 bytes)

Inside: ue4ss/UE4SS.dll 594768E5AEF357914085AEC1A728ED8063DE0E97F1E0B697A54ABFD4F28C1140, dwmapi.dll 1219EB50AA016C0F34676901EA76D580D77E56754DA4F7D94FAC0B288AA8EE2F. Upstream zip it is based on: UE4SS_v3.0.1-1161-g6eb3d9bc.zip, 938DC9901E6452CAD3120280681C93A00AE12DF2B259668815A150E221A35563.

How it was built

The recipe, the patch and the packaging script are in tools/ue4ss-build/: UE4SS 6eb3d9bc + 0001-fix-Lua-release-out-param-registry-refs.patch, MSVC 19.40 (VS 2022 17.10 Build Tools), CMake 4.4.4, Rust 1.99.0, target Game__Shipping__Win64. MSVC 14.40 needed two syntax-only changes that do not change what the code does (described in that README). This zip was built on the maintainer's PC, not by GitHub Actions; MSVC builds are not bit-for-bit reproducible, so a rebuild gives the same code with other hashes.

Licence

UE4SS is MIT-licensed by the UE4SS team; their LICENSE is included in the zip unchanged. The patch is offered upstream under the same licence. This release is not affiliated with or endorsed by the UE4SS team.