Happy

Shi Notes

My notes for OptiScaler with XeFG

Latest Stable Latest Beta
v1.7.0
dashdogy DLL - dashdogy ASI
v1.7.0 beta5
dashdogy DLL - dashdogy ASI

OptiScaler - GitHub Sponsors - Buy Me a Coffee

dashdogy - Ko-fi

I - Quickstart (5-15 minutes)

Note: This is for Stable, as for Beta, it will be the same with some minor changes here

Prerequisites

# Check Details How to Check
☐ Native Upscaling / FG Check if the game natively supports Upscaling or Frame Generation PCGamingWiki (Video section)
☐ Graphics API Check if the game uses DX12, DX11, or Vulkan (Only dashdogy build) PCGamingWiki (API section)
☐ OptiScaler Compatibility Check if the game requires OptiPatcher or additional configuration OptiScaler Compatibility List
☐ Anti-Cheat Check if the game's (online) anti-cheat allows mods/OptiScaler without issues Google

Install

⎗
✓
1
2
3
4
5
6
7
📁 Opti
├── 📄 setup_windows.bat                     <-- # setup_linux.sh for Linux
├── 📄 OptiScaler.dll                        <-- # Replace with dashdogy's OptiScaler.dll
├── 📄 OptiScaler.ini                        <-- # Set: LoadAsiPlugins = true
└── 📁 OptiScaler
    └── 📁 plugins                           <-- # Create folder
        └── 📄 MFGUnlocker.asi               <-- # Rename from .dll to .asi
# Step Details
1 OptiScaler • Create a folder named Opti as shown above.
• Download OptiScaler Nightly.
• Extract OptiScaler.dll, OptiScaler.ini, OptiScaler folder, and setup_windows.bat (setup_linux.sh for Linux) into Opti folder.
1.1 dashdogy DLL • Download dashdogy DLL.
• Replace the original Nightly OptiScaler.dll with dashdogy's OptiScaler.dll for full features.
2 XeMFG • Create a plugins folder in OptiScaler folder
• Download MFGUnlocker and rename MFGUnlocker.dll to MFGUnlocker.asi.
• Move it to plugins folder.
• In OptiScaler.ini, set LoadAsiPlugins = true.
3 Game Folder • Find the game's .exe (Run the game, open Task Manager, right-click the game, and select Open file location).
4 Placement • Copy all files in Opti, and paste them into the game folder as shown below
5 Install • Run setup_windows.bat (or setup_linux.sh for Linux).
• Run Streamlined_fetcher_windows.bat to download the latest Streamline files.
⎗
✓
📁 Game
├── 📄 Game.exe
│
├── OptiScaler -----------------------------------------
├── 📄 setup_windows.bat                     <-- # Run this (or setup_linux.sh)
├── 📄 OptiScaler.dll                        <-- # winmm.dll | dxgi.dll | d3d12.dll | ...
├── 📄 OptiScaler.ini
├── 📁 OptiScaler
│   ├── 📄 Streamlined_fetcher_windows.bat   <-- # Run this
│   ├── 📁 streamline
│   └── 📁 plugins
│       ├── 📄 MFGUnlocker.asi
│       └── 📄 OptiPatcher.asi               <-- # Auto-installed by setup_windows.bat/setup_linux.sh if needed
│
├── Other ----------------------------------------------
├── 📄 REFramework.dll                       <-- # (If needed, check OptiScaler Compatibility List)
└── 📄 Ultimate ASI Loader.dll               <-- # (If needed, check OptiScaler Compatibility List)

In-game

# Step Details
1 OptiScaler Booted • Launch the game.
• Press Insert to check if OptiScaler is working.
2 In-game Settings • Enable in-game Upscaler.
• Enable in-game Frame Generation (skip if the game doesn't support it).
• Disable V-Sync in-game.
3 Frame Generation Enable • In OptiScaler, go to the Frame Gen tab.
• FG Input:
├── FG Support: DLSSG via Streamline > FSR 3.1 / FSR 3.0
└── Upscaler support: OptiFG
• Set FG Output to XeFG.
• Save and close the game.
4 V-Sync • Open your NVIDIA/AMD App.
• Set V-Sync to On for the game.
• Relaunch the game.
5 Dynamic Frame Generation • Go to the Frame Gen tab and enable Dynamic MFG.
• Set multiplier limit (recommended: 4X).
• Change setting from Around target to At least target.
• Set Target FPS (acts as your Min FPS floor).
6 OptiScaler Limiter • Go to the Latency & FPS tab.
• Set FPS Limit (acts as Max FPS limiter, use VRR Frame Cap Calculator) and hit Apply
7 Upscaler Presets • Go to the Upscaling tab.
• DLSS: Enable Render Presets Override, choose a preset, and hit Apply, some recommendations:
├── Preset E: DLAA / Ultra Quality
├── Preset K: Quality
├── Preset M: Quality / Balanced / Performance
└── Preset L: Performance / Ultra Performance
• FSR / XeSS: well I don't use them, but feel free to ping me the recommended settings.

Update & Beta

Step Details
Update DLL Replace the current OptiScaler.dll with the new OptiScaler.dll
Update ASI Replace the current MFGUnlocker.asiwith the new MFGUnlocker.asi

II - OptiScaler

1. Upscaling

DLSS

  • Pick presets based on priority: Quality > Latency > Performance Cost.
  • E/K/M/L tend to look the best at their respective quality levels from what the community's found.
  • Recommended mappings:
    - Preset E: DLAA / Ultra Quality
    - Preset K: Quality (varies by game, can look bad in e.g. UE5)
    - Preset M: Quality / Balanced / Performance
    - Preset L: Performance / Ultra Performance
  • If latency and cost aren't a concern, experiment freely (e.g., DLAA + Preset L). Estimate latency/cost from the reference below.

FSR/XeSS: I don't use these, if any AMD user out there knows, then I can add in this section

2. Frame Generation

FG Input — Native FG

  • DLSSG via Streamline — Best option. DX12 only, requires DLSS-G support. Streamline 1 games aren't supported.
  • FSR 3.1 / 3.0 FG — Fallback if Streamline doesn't work.

FG Input — Upscaler Only

  • OptiFG — For DX12/DX11 games without native FG. HUD might break — try HUDFix. Details on the OptiFG page.

FG Output — XeFG Settings

  • Frame Gen — Main toggle, sets the FG multiplier (2X, 3X, etc.). Keep base FPS above ~35, or interpolation will feel off.
  • Dynamic MFG — Recommended. Dynamically adjusts the multiplier per-frame based on current FPS, help with lag spikes.
  • Max Frame Gen — Only with DMFG on. Caps how high DMFG can scale. 4X is all-around good.
  • Rounding: Only with DMFG on. Controls how DMFG adapts its multiplier relative to Target FPS.
    - Around target — Adapts to whichever multiplier lands closest to Target FPS.
    - At most target — Only adapts to multipliers at or below Target FPS. Acts as max FPS limiter — disable OptiScaler's FPS Limiter to avoid conflicts.
    - At least target — Only adapts to multipliers at or above Target FPS. Acts as min FPS limiter.

3. Latency & FPS

FPS Limiter

  • Use the VRR Frame Cap Calculator or use this formula on Wolfram (set 000 to your monitor Hz) . Enable to keep latency in check.
  • Set to 0 (OFF) only if using At most rounding in DMFG — otherwise they conflict.

Latency

  • Active Input — Leave on default, you usually only have one option, change only if you know what you're doing.
  • Active Output — For XeFG, XeLL (default) is the stable pick. Can try Reflex or AL2 to compare, could be better depending on the build.

Known Issues

How to Send Logs

1. Set LogToFile = true in OptiScaler.ini. 2. Attach both OptiScaler.log and RTXMFG.log. 3. Include some info like below with your logs:

  • [Game] - [API] - [GPU]
  • Description: What went wrong vs. what was expected to happen.
  • Other Tools: Using anything on top of it (e.g., RTSS, ReShade, OptiScaler forks, mods).

Example:

  • Arknights Endfield - Vulkan - RTX 5090
  • Description: Black screen on launch, FG is stuck at 2X.
  • Other Tools: Using RTSS and ReShade.

By GPU

AMD

AMD GPUs generally have bugs with dashdogy's build, so please do send logs to dashdogy

By Engine

RE Engine

Requires REFramework.dll as dinput8.dll to work well, either REFramework Nightly or onehoon REFramework

By Game

Wuthering Waves

Requires spoofing in OptiScaler.ini for MFG to work correctly

⎗
✓
1
2
3
SpoofedDeviceId = 0x2b80
SpoofedGPUName = NVIDIA GeForce RTX 5090
Dxgi = true

Links & Changelog

dashdogy

Version OptiScaler DLL ASI Plugin Clanker Summary
V1.7.0 dashdogy.dll MFGUnlocker.asi • Side-by-side UI: MFG Unlocker menu shares screen with OptiScaler for DLSS presets & DLSS 5
• Menu auto-hidden in Forza games to prevent startup crashes (toggleable via json)
• Fix: UI showing twice with XeFG in Vulkan; UI now works on XeFG swap chain (Honkai: Star Rail)
• OptiScaler DLL: Vulkan XeFG now works with any FG input (Upscaler/DLSSG; Arknights: Endfield)
• OptiScaler DLL: Fix DLSSG option greyed out at startup (Doom: The Dark Ages)
• OptiScaler DLL: Fix OptiScaler menu & FPS overlay holding DX12 Present with XeFG
• OptiScaler DLL: Fix MW4 crash with game FSR-FG & missing UI when FG is off
• OptiScaler DLL: Dynamic MFG improvements (ignores single hitches, holds in bg, checks lower step at cap)
• Fix: Streamline VRAM leak & crash on RTX 30 when FG fails to start (Doom: The Dark Ages)
• XeFG swap chain default increased to 10 buffers (up to 16)
• XeFG HDR10 disabled by default to fix interpolation artifacts on bright displays
• DLSS 5: added Hook Method selection (Auto, Before/After upscaling, Present)
V1.7.0 beta4 dashdogy.dll MFGUnlocker.asi • XeMFG standalone mode: works without OptiScaler (libxess_fg.dll + libxell.dll next to exe, no Reflex/AL2 yet)
• Fix: XeMFG via OptiScaler giving lower FPS/GPU utilisation vs XeFGUnlock or 1.5.2 beta 2
• DLSS 5 Boost reworked: now half-rate, nearly all ghosting removed, halves DLSS 5 cost
• Fix: Resolution Scale Auto no longer drops to 33% or blinks; stays ≥75%, off by default
• Fix: Menu cursor no longer sluggish with FG on
• New advanced tuning options for DLSS 5
• Fix: Witcher 3 path-traced hair black in shade
• DLSS 5 tab now hidden when nvngx_dlssnr.dll is absent
• UI refresh
• OptiScaler DLL updated: XeMFG in Vulkan now runs through OptiScaler's own D3D12 path (better game compatibility)
V1.6.2 beta5 dashdogy.dll MFGUnlocker.asi • Fix: Reflex FPS limit "unsupported plugin version" error (Cyberpunk on 30 series, Wuthering Waves, newer Reflex plugin games)
• Fix: Frame gen greyed out in FF7 Rebirth on 20/30 series
• Fix: DLSS missing in STALKER 2 when another tool hooks it
• Fix: DLAA showing as Quality in menu
• Fix: Mod loading into Unity's crash handler
• XeMFG Vulkan: can now use Reflex or AL2 instead of XeLL (selectable in OptiScaler menu)
• XeMFG Vulkan: V-Sync override now works (uncaps games like No Man's Sky that force V-Sync with FG)
• OptiScaler DLL updated to latest master nightly
• Fix: Endfield no longer refuses XeFG with FG input set to DLSSG via Streamline
V1.6.2 beta4 dashdogy.dll MFGUnlocker.asi • Fix: 5x/6x running slower than 1.6.1 on AMD RX 7000
• Fix: FPS loss on RX 6000 and older (flip queue now off by default; 7000/9000 pace via AMD driver flip meter)
• Fix: Ghost of Tsushima crash on 20 series
• Fix: FPS limit not holding on Vulkan with FG on
• Fix: RDR2 tearing on Vulkan
• Fix: Dynamic MFG getting stuck at high multiplier until toggled
• Enshrouded on AMD: FG now falls back gracefully instead of crashing
V1.6.2 beta3 dashdogy.dll MFGUnlocker.asi • Fix: Doom freezing on Vulkan
• Fix: programs_missing on AMD in Vulkan games (RDR2, Enshrouded)
• Fix: Pacing locking into high latency after loading screens
• Fix: Dynamic MFG getting stuck at 6x after alt-tab
• Fix: MW4 crash on 30 series
V1.6.2 beta2 dashdogy.dll MFGUnlocker.asi • XeMFG now works in Vulkan games (via included OptiScaler.dll)
• XeFG pacing overhaul: proper V-Sync pacing, smoother 4x–6x, fixes frame bunching/gaps
• GoW Ragnarok stutter fix on 30-series w/ DLSS 5
• AMD/Intel: GPU timing now measured per-card instead of hardcoded
• Linux/Proton: new pacing disabled by default (temp)
• AL2 w/ XeFG now distinguishes generated vs real frames (DX12)
• Beta logs now have timestamps + crash dumps
V1.6.2 beta1 Nightly.dll MFGUnlocker.asi • Frame pacing & stutter overhaul
• Better Reflex, AL2, XeLL support
• Reflex/AL2 now preferred over XeLL (except Arc GPUs)
• Improved generated frame queuing
• XeFG can now generate next batch while showing previous
• Display timing overhaul for stabler Dynamic FPS
• V-Sync pacing fixes coming later
• Fixed crashes & CUDA loading issues
v1.6.1 Nightly.dll MFGUnlocker.asi • Live DLSS preset switching on all RTX cards (20/30/40/50)
• FG, SR, and RR presets change while playing (DX12)
• RTX 50 series support added (menu, modes, native MFG)
• Fix: FG option no longer greyed out when NVIDIA app overrides DLSS FG (RTX 30)
• XeMFG tensor core path now works alongside game recorders/pipeline hooks
v1.6.0 Nightly.dll MFGUnlocker.asi • Live DLSS FG/SR/RR preset switching (RTX 40, DX12)
• Experimental RTX 20 DLSS FG support (2060–2080 Ti)
• RTX 30 FG now works in Vulkan games
• RTX 30: flip metering pacing, no more stall at 3x+
• V-Sync Off support in Vulkan
• XeMFG: smoother pacing after hitches, even frame spacing
• XeMFG: tensor cores on RTX 20/30/40/50, ~7% faster on other GPUs
• XeMFG: flip metering on NVIDIA GPUs, lower latency on AMD/Intel
• XeMFG: Dynamic MFG improvements, Intel Arc native 5x/6x
• Fixed freeze on fast camera turns (scene-change detector off by default)
• Fixed crashes with OptiScaler in Streamline games
• RTX 40 w/ OptiScaler DLSSG no longer stuck at 2x
• Updated NVIDIA game list (e.g. Dragon's Dogma 2 uncapped)
• VRAM leak fix from V1.5.0 HF1 included
• DLL size reduced: 8.9→7.3 MB
V1.5.2 Beta1 MFGUnlocker.asi
V1.5.1 rc dashdogy.dll MFGUnlocker.asi

sdli1995

Version ASI Plugin
XeMFG CUDA version.dll

Pliskin

Version ASI Plugin
1.3.4.95 XeFGUnlock.asi
1.3.1.78 XeFGUnlock.asi

XeFG

Version DLL
1.3.4.95 libxess_fg.dll
1.3.1.78 libxess_fg.dll

Full Credit

── ── ── ── ── 🚧 [ WIP AREA ] 🚧 ── ── ── ── ──

III - ReShade

── ── ── ── ── 🚧 [ WIP AREA ] 🚧 ── ── ── ── ──

Edit

Pub: 18 Oct 2026 10:22 UTC

Edit: 25 Oct 2026 23:24 UTC

Views: 2085