Skip to content

Releases: Echo-Storm/ls-addon-manager

Addon Manager for Lossless Scaling 0.9.38: the end of the 0.9.37 test

Choose a tag to compare

@Echo-Storm Echo-Storm released this 03 Oct 05:35

The end of the 0.9.37 test.

  • The upscalers name each other as conflicts again (only one can be on, as before), and the test notice under the comparison's label is gone. Ctrl+Shift+F9 still steps between Lossless Scaling's NIS and the upscaler that is on, with a label in the top left naming the one drawing.
  • A recording of one mode of the comparison that has to wait for the recorder no longer picks up the next mode's frames.
  • Everything from 0.9.35 to 0.9.37 stays: Neural Rendering's Auto quality on for new installs, the packing of recordings, and the smaller fixes.

If you installed 0.9.37, this replaces it. Download LSAddonManager-0.9.38-x64.zip, unzip, run LSAddonManagerSetup.exe. SHA-256 of the zip: a9c88767a22f72f7d6e722795d5e2f88c3a06cd06491baa393e79d4fbfd12c8f

Addon Manager for Lossless Scaling 0.9.37: the upscalers side by side (a temporary test)

Choose a tag to compare

@Echo-Storm Echo-Storm released this 03 Oct 03:53

A temporary test: the upscalers side by side.

  • Ctrl+Shift+F9 steps through Lossless Scaling's NIS, then DLSS, FSR, XeSS and Video Super Resolution (the ones you have switched on), one at a time, then off. A label with a coloured square in the top left names the one drawing, and for a few seconds after each press a notice says that this is a test that can break the game and where to report problems. For now the upscalers can all be switched on together (they no longer name each other as conflicts); with no comparison running, only the first of them upscales.
  • To record what each one does: tick "Keep the last few seconds ready to save" and "Record what is shown" in an addon's panel. While comparing, the output is recorded in short bursts and each mode's frames are saved as a recording named after the mode when you move to the next. logs/compare_timeline.csv has the times.
  • Please report any problem you see, with that file and the addons' logs, in the issues.
  • Smaller: Video Super Resolution says in its panel when it is off or waiting and why, and loads from folders with non-English letters; recordings can be packed without loss (tools/pack_recordings.ps1).

Download LSAddonManager-0.9.37-x64.zip, unzip, run LSAddonManagerSetup.exe. SHA-256 of the zip: 2f13dd096625859784601df14ad95acbaae8fa543173b95ca78eda156eb3f7bc

Addon Manager for Lossless Scaling 0.9.36: smaller fixes

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 19:56

Smaller fixes.

  • Video Super Resolution (a prototype, for testing): switching the addon on in the manager is enough; it had a second switch of its own that started off.
  • Neural Rendering: a model time read from GPU timestamps that go backwards (or were never written) is ignored; it would have shown as billions of milliseconds, which the watchdog takes for a stuck model.
  • The build on GitHub now runs the addon's offline tests (settings, auto quality, the what-is-wrong rules, the frame trace, the recorder's files), and checks that every version number agrees.

Download LSAddonManager-0.9.36-x64.zip, unzip, run LSAddonManagerSetup.exe. SHA-256 of the zip: e2357d0bcc29440ca064c97c1dbd5966096922d7c38030c6d30af227c3afbc5e

Addon Manager for Lossless Scaling 0.9.35: Auto quality on for new installs, a Video Super Resolution test addon

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 19:36

Neural Rendering's Auto quality is on for new installs again.

  • A fix that matters for new installs of 0.9.28 to 0.9.34: the settings loader fell back to Auto quality off, 5 ms and 0.25 for anything never saved, while the notes (and the defaults) said on, 6 ms and 0.6 and the model resolution default went up to 1.0. A new install ran the model at the full frame size with nothing to bring it down; on a fast card that meant the card at 99 %. The loader now takes every fallback from the defaults themselves, and the settings test checks a new install field by field. A config an affected build wrote (exactly Auto quality off, 5 ms, 0.25) is taken as the defaults never having been chosen: Auto quality goes on once. Switched off again it stays off; an off with a budget or floor of your own is never touched.
  • Smaller fixes: the auto quality step down near the floor, a wrong "keeps up" figure for a moment after the model restarts, a damaged DLL chosen in the Runtimes list, and a failed addon install leaving a half-filled folder.
  • 0.9.28 to 0.9.33 went out without the XeSS Upscaler (fixed in 0.9.34); this package has all the addons.

Download LSAddonManager-0.9.35-x64.zip, unzip, run LSAddonManagerSetup.exe. SHA-256 of the zip: 206f0f2085a3d1a9424b7ab88017976a6b4de16a4a2558a1b35586061f79385f

Addon Manager for Lossless Scaling 0.9.34: the XeSS Upscaler is back in the package

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 17:55

The XeSS Upscaler is back in the package. Releases 0.9.28 to 0.9.33 went out without it (no XESSUPSC folder and no libxess.dll; the download dropped from about 117 MB to about 57 MB). Intel's XeSS SDK was missing from the checkout the release is built in, the addon was not built, and the packaging script only printed a note. Nothing in the XeSS code changed; it is built again against the same pinned Intel SDK (3.0.2). If you installed 0.9.28 to 0.9.33 and use XeSS, install this one. 0.9.27 and earlier had it.

The packaging script now stops when an addon is not built, so this cannot go out unnoticed again.

Download LSAddonManager-0.9.34-x64.zip, unzip, run LSAddonManagerSetup.exe. SHA-256 of the zip: 310e725c5610fad0e99958a59c984eab7a153b06e710722146f15903aa1ee2da

Addon Manager for Lossless Scaling 0.9.33: the upscalers on a 3440x1440 screen, second try

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 16:42

The upscalers on a 3440x1440 screen, second try (issue #13). 0.9.31 and 0.9.32 were still re-reading NIS's settings many times a second there: Lossless Scaling makes a new constants buffer for its extra 48-byte pass at every frame, and that pushed the real pass's reader out. Reproduced on the test host (236 refusals and 30 re-reads before, 2 and 2 after); not yet seen in a game. The source also has a prototype Video Super Resolution addon (not in this package: it needs your own NVIDIA Video Effects SDK).

  • The upscalers on a 3440x1440 screen, second try (issue #13, still broken on 0.9.32). The reporter's new log shows the refused 48-byte NIS-looking pass many times a second and the real pass read again about every second. Lossless Scaling makes a new constants buffer for that pass at every frame, and the readers of NIS's viewports (one for each pass, in 0.9.31) were keyed by the buffer's address: every frame made a new one, and after eight the real pass's was pushed out and had to be read again (the upscaler then falls back to NIS until it is). They are keyed by the buffer's size now, and a reader that is known good is never pushed out for one that was refused. Test host: nisdecoy=2 gives the other pass a new buffer at every frame, scenario scaler_crop_3440_decoy2; before the fix that run logged 236 refusals and read the real pass 30 times, after it 2 and 2 (one for each device).
  • A prototype addon: Video Super Resolution (VSRUPSC, issue #8). NVIDIA's RTX Video Super Resolution, from the person's own NVIDIA Video Effects SDK (x64, with the VideoSuperRes feature; nothing of NVIDIA's is shipped or fetched), in place of Lossless Scaling's NIS pass: the frame is read through the pass's own input view into an 8-bit texture (an HDR frame as its SDR view), the SDK's Direct3D 11 transfers take it to CUDA, VSR runs, and the result is placed in the pass's output (viewport and borders as the other upscalers keep them). Measured on an RTX 4070 Ti SUPER: Low 2.3 ms at 2560x1440 to 3840x2160 and 0.65 ms of hand-over; 82 to 93 % of the game's detail against 65 to 78 % for bicubic, about a quarter more frame-to-frame shimmer; the WoW interface text and icons come out crisp (docs/vsr.md). It runs synchronously on the render thread for now. Work in progress: off by default, built only with the SDK present (external/vfx, -DVFX_DIR), left out of release packages (-IncludeWip), tools\deploy.ps1 -What vsr. Test host scenarios vsr and vsr_4_3 (need the SDK; VFX_DIR). Tools: nr_vfxprobe (time, detail, shimmer, hand-over on frames and clips).
  • Video Super Resolution: the motion gate. The owner's first live test: VSR looked about like FSR or XeSS, and on what moved it blurred and shifted colour; at rest it was sharp. NIS now runs as usual and VSR's picture is blended over it per pixel only where the frame did not change from the pass before (a 3x3 neighbourhood), so the interface and a still camera get VSR and the world in motion keeps NIS's picture. Settings "Only where the picture is still" (on) and "Motion sensitivity". The test host now calls post-dispatch callbacks as the manager does; scenarios vsr_move (NIS kept on what moves) and vsr_nogate.
  • The detection of the NIS pass (FindNisPass, NIS's viewports) is its own file, nis_pass.cpp, so an addon without the Direct3D 12 engine can use it. The DLSS, FSR and XeSS upscalers are unchanged (their scenarios pass).

Zip LSAddonManager-0.9.33-x64.zip, SHA-256 8c6a9fa7a95ee227cd54aa72109b30af5187fa727a23b6f53469317fb88e3f44.

Addon Manager for Lossless Scaling 0.9.32: a try for the FSR 4 INT8 runtime on Radeon RX 6000 cards

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 06:40

A try for the FSR 4 INT8 runtime on Radeon RX 6000 cards (issue #11). The FSR Upscaler now makes its Direct3D 12 device on Microsoft's Agility SDK core when that runtime is the one chosen in the Runtimes list, as OptiScaler's FsrAgilitySDKUpgrade does. Checked on one NVIDIA card (the core is loaded and the device works); not confirmed on the reporter's Radeon, and the cause of their crash is still a guess. The shipped FSR 3.1.4 runtime is untouched, and a failure falls back to the plain device. The package is 5 MB larger for Microsoft's D3D12Core.dll.

  • FSR Upscaler, FSR 4 INT8 runtime: the device is made on Microsoft's Direct3D 12 Agility SDK core (issue #11, an RX 6600 XT where that runtime closed Lossless Scaling and works in OptiScaler with FsrAgilitySDKUpgrade). The runtime's folder now holds D3D12Core.dll (1.619.6, signed by Microsoft, with its licence; tools/fetch_agility_sdk.ps1), and when that runtime is the one chosen the addon makes its Direct3D 12 device through ID3D12DeviceFactory on it (agility.cpp); only that device is affected, not the rest of the process, and any failure falls back to the plain device with a line in the log. Windows uses the newer of its own core and ours (this machine has 616 built in, so a 616 core changed nothing here; 619 is loaded), so a Windows that is already as new does nothing different. Not confirmed on the reporter's card: it is a lead from them, the cause is still a guess. The shipped FSR 3.1.4 runtime is untouched. nr_agilitytest makes a device on the folder's core and checks that it works and that the core is the one loaded.

Zip LSAddonManager-0.9.32-x64.zip, SHA-256 c7669a472007072b3a7aa4640712a4809f0cfb58dda5ff687d8ac0dca26abb29.

Addon Manager for Lossless Scaling 0.9.31: the upscalers on a 3440x1440 screen, and a Dark guard setting

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 06:05

The upscalers on a 3440x1440 screen, and a Dark guard setting for Neural Rendering. Issue #13's second report (heavy performance loss on 0.9.27): two NIS-looking passes a frame disturbed each other's reading of NIS's viewports, so it was redone and logged every frame. Reproduced on the test host and fixed there; not yet seen in a game. The Dark guard slider (0.040 by default, 0 = off) is the range of the 0.9.28 glow fix, now yours to tune.

  • The upscalers: two NIS-looking passes in a frame no longer disturb each other (issue #13, 3440x1440 with heavy performance loss on 0.9.27). The reporter's log (DLSS4DLAA.log) shows two dispatches a frame with the same bindings: one with 48 bytes of constants, which the upscaler refuses ("NIS stays"), and the 3440x1441 pass it takes. They shared one reader of NIS's viewports, so each one's turn reset what the other had found: the constants were copied, mapped and logged again every frame (1504 lines in a minute) and the upscaler took the pass only now and then. There is one reader for each device, shape and bound constant buffer now (up to 8). Test host: nisdecoy=1 adds the second pass, scenario scaler_crop_3440_decoy; before the fix that run logged the refusal 260 times and never took the real pass, after it the real pass is taken, the refusal is logged once and the borders stay untouched.
  • Neural Rendering: the dark guard's range is a setting ("Dark guard", 0.040 by default, 0 to 0.15, 0 = off). It was fixed at 0.04 in 0.9.28 (the owner looked at 0.02 and 0.04 and chose 0.04). Pixels darker than the value take no positive change from the model, fading in up to it. A wider value takes more of the glow off dark HUD panels at the price of the model's lift in real shadows. nr_nreval has darkguard= in percent. The edge-aware stretch of the model's result that was tried for the same glow did not help (the glow is the model's own output; handoff/BACKLOG.md), so this is the lever.

Zip LSAddonManager-0.9.31-x64.zip, SHA-256 adb39739bbc64e8885315f070aff8bd78a7daea3224497f9d618b53a26cb701f.

Addon Manager for Lossless Scaling 0.9.30: Neural Rendering can keep the graphics card under a limit

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 02:28

Neural Rendering can keep the graphics card under a limit, and every install now runs the model on every 2nd frame. The limit is a checkbox under Auto quality (off by default): when the card sits at the limit, the model gets lighter. It was added after a report from an RTX 4090 at 99 % load, where limiting the card to 95 % cleared the problem. Tested offline (auto quality) and with the sensor on one RTX 4070 Ti SUPER; the checkbox itself has not been tried in a game yet.

  • Neural Rendering: "Keep the graphics card under a limit" (under Auto, off by default, 95 % unless moved). A reporter with an RTX 4090 at 99 % load in WoW (their own overlay) had the problem go away when they limited the card to 95 %; the log showed the model waiting about 4 ms behind the game's work. With the box ticked, auto quality reads the card's load once a second (NVML, NVIDIA cards only; gpu_load.cpp) and, when it stays at or above the limit for 3 s, treats it like slow game frames: the budget shrinks to 60 %, the resolution comes down, it does not go back up for a minute, and at the lowest resolution the model runs on every 2nd or 3rd frame. It lets go after 10 s at 8 points under the limit. It only takes the model's share off the card: a game that fills the card alone still needs a frame rate limit. nr_autotest covers it, nr_gpuloadtest reads the sensor.
  • Neural Rendering: every install gets "Run the model every 2nd frame", including one that ran 0.9.28. 0.9.29 fixed a config that never had the setting, but 0.9.28 itself had loaded such a config as "every frame" and saved that back, so those kept it. A saved 1 from a file written before the defaults' version (a new key, defaultsVersion) now becomes 2, once; a 1 chosen after that stays. nr_settingstest covers it.

Zip LSAddonManager-0.9.30-x64.zip, SHA-256 c9665192790e72c312423cb4181cae6a9010390b78d820bf9cafa6729b7e8dba.

Addon Manager for Lossless Scaling 0.9.29: the new Run the model default reaches saved configs

Choose a tag to compare

@Echo-Storm Echo-Storm released this 02 Oct 01:09

A fix for 0.9.28: the new default of "Run the model" (every 2nd frame) now reaches people who already had a saved config. In 0.9.28 only a fresh install got it; an upgrade kept loading "every frame". Everything else in 0.9.28 (no glow or tint on black beside HUD boxes, the new defaults for Neural Rendering) is unchanged; its notes are on the 0.9.28 release.

  • Neural Rendering: a config saved by an older build now takes the new default of "Run the model" (every 2nd frame). 0.9.28 made every 2nd frame the default, but a saved settings file that did not have the setting yet (every upgrade from an older build) loaded it as "every frame" from a fixed fallback in settings.cpp; only a fresh install got the default. The fallback follows the default now, and nr_settingstest covers a config without the key. A saved choice of the setting is kept.

Zip LSAddonManager-0.9.29-x64.zip, SHA-256 19a422e627510c89013b6af3b78c6c53bef2a4f077767f6227004bb18b821d9d.