Description
UpscaleCraft
More FPS through render scaling. UpscaleCraft renders the 3D world at a lower resolution and upscales it to your window size, with FSR 1.0 or its own temporal upscaler. The GUI stays sharp at full resolution. Client-side only, Minecraft 1.20.1, Forge 47.x.
ℹ️ Tested so far on NVIDIA (RTX 5080, 1440p). Reports from AMD/Intel GPUs and other resolutions are very welcome, see "Feedback" below.
Features
- Render scale 25–100 % with three upscalers:
- Bilinear: simple and cheap.
- FSR 1.0: AMD FidelityFX Super Resolution 1.0 (EASU + RCAS) as a GLSL port. Sharp and very cheap.
- Temporal: a custom temporal upscaler (TAAU) with FSR-2-style techniques: camera jitter, reprojection, history clipping, depth-based disocclusion, a reactivity mask and entity motion. It gives a much calmer image on foliage and water than FSR 1, at a slightly higher GPU cost.
- New in 1.0: motion-adaptive sharpening (Temporal): moving and freshly revealed pixels get extra sharpening, so the picture stays crisp while you turn or walk. Still images are unchanged.
- Dynamic resolution: keeps the GPU time of the world pass inside the budget of your target FPS (Auto = monitor refresh rate or FPS limit). It only lowers the resolution when the GPU is the actual bottleneck, not when you are CPU-limited or capped.
- Mip bias against blocky foliage at low resolutions.
- Settings in the Video Settings screen ("Upscaling…" button), in the mod list (config button), as its own Embeddium tab, and via keybinds:
Otoggle,[cycle upscaler,]cycle quality preset. - Shader packs (Oculus/Iris) are supported. Tested with ten packs (including BSL, Complementary, MakeUp, Sildur's, Solas, Vanilla Plus) without crashes.
Recommended settings
- Without shaders: Temporal at 67–77 %, sharpness 0.8.
- With a shader pack: turn the pack's own TAA off and use Temporal, or keep the pack's TAA and use FSR 1 (the mod picks automatically in
AUTOmode). - Stable FPS: enable dynamic resolution and leave the target FPS on Auto.
Compatibility
| Minecraft / Forge | 1.20.1 / 47.x |
| Embeddium | optional, tested with 0.3.31 (adds a menu tab) |
| Oculus | optional, tested with 1.8.0 |
| Fabric / NeoForge / other versions | no |
Known limitations
- Fabulous graphics are not supported. The mod renders natively in that case (a note is shown in the menu). Please use Fast or Fancy.
- Temporal + shader pack: the pack's own TAA should be off. In
AUTOmode (default) the mod detects this and otherwise falls back to FSR 1. Detection knows: BSL, ColorFull, Complementary, MakeUp, VanillaPlus, superDuper, Sildur's, Solas. For other packs, settemporal_with_shaderstoNEVERorALWAYSyourself. - Stutter when the resolution changes with a shader pack (single frames, Iris rebuilds its buffers). With shaders, dynamic resolution therefore switches in coarse, infrequent steps. A fixed render scale does not stutter.
- Temporal limits: entities have rough motion vectors, particles and block entities only get a reactivity mask, and foliage wind animation has none. Occasionally something may trail slightly (ghosting).
- Untested: AMD and Intel GPUs, other resolutions and GUI scales, multiplayer, Nether/End, switching between windowed and fullscreen.
- The mod uses Mixins and, for Oculus, reflection on its API. Other Oculus versions may break shader pack detection (fallback to FSR 1).
Performance (developer measurement)
RTX 5080, 2560×1440, render distance 12, GPU time of the world pass, native → FSR 1 at 77 % / 67 % / 50 %:
- without shaders: 0.77 → 0.66 / 0.58 / 0.46 ms (−14 / −25 / −40 %)
- with Complementary Reimagined: 5.69 → 4.59 / 4.09 / 3.45 ms (−19 / −28 / −39 %)
The saving is smaller than the pixel share because shadows, geometry and the upscale pass have fixed costs. On weaker GPUs and at higher resolutions the gain is typically larger, but that has not been measured. Temporal costs a little more than FSR 1 (about 0.3 ms on the test system).
Configuration
config/upscalecraft-client.toml: enabled, upscaler (BILINEAR/FSR1/TEMPORAL), render_scale, sharpness, motion_sharpening, mip_bias, dynamic_resolution, dynamic_target_fps, dynamic_min_scale, dynamic_max_scale, temporal_with_shaders (AUTO/ALWAYS/NEVER).
Feedback
If you run into problems, send me a private message on CurseForge. Please include:
GPU + driver · resolution / GUI scale · windowed or fullscreen · modpack / mod list · shader pack (and whether its TAA is on or off) · upscaler + render scale · latest.log · a screenshot of what looks wrong (and whether it goes away with O = mod off).
Credits & License
Contains a GLSL port of AMD FidelityFX Super Resolution 1.0 (MIT, © 2021 Advanced Micro Devices, Inc.). UpscaleCraft itself is licensed under the MIT license. Not affiliated with AMD.



