
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 |
Install
| # | 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. |
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.
Reference at page 6: https://github.com/NVIDIA/DLSS/blob/main/doc/DLSS_Programming_Guide_Release.pdf
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 tryReflexorAL2to 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
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
- OptiScaler team for
OptiScaler- GitHub Sponsors - Buy Me a Coffee - dashdogy for
MFGUnlocker- Ko-fi - sdli1995 for
DLSSG for SM86 - XeMFG CUDA - Discord@realdody for
XeFGUnlock - praydog for
REFramework- GitHub Sponsors - Patreon - onehoon for
REFramework's fork