A general-purpose window upscaler for Windows 10/11.
  • HLSL 91.6%
  • C++ 8.1%
  • C 0.2%
Find a file
Xu a6f86d0849
FX 支持使用 FP16 (#1049)
* feat: 自动使用半精度浮点数,除非在开发者选项中禁用

* feat: 添加用于测试效果性能的模式,将持续渲染不做等待

* chore: 避免不同配置使用相同的着色器头文件

* fix: 不再使用 wil::CreateDirectoryDeepNoThrow,因为它不支持相对路径

* feat: 内联常量改为使用全局只读变量实现
这可以避免宏定义引起的名字冲突,如 #678

* feat: 引入 rapidhash,不再使用 wyhash
这会使效果缓存失效

* feat: 优化缓存系统
加载缓存将检查源码是否匹配,更改缓存文件名

* ui: 优化开发者选项 UI

* perf: 避免复制

* feat: 使用 USE_FP16 指令声明效果支持 FP16

* fix: 小修复

* chore: 修改措辞

* feat: 使几个效果支持 FP16,但性能变化不如预期

* feat: 适配几个效果供测试

* CuNNy-D16N16

* ACNet 从 mad 改为使用 dp4

* Anime4K_Upscale_L 和 CuNNy-16x16C-NVL 改为使用 mad

* ACNet 改为使用 mad

* feat: FX 支持 USE 指令

* feat: 内置函数新增 MulAdd

* perf: 优化 jinc 和 Anime4K_3D_Upscale_US

* perf: 优化 Anime4K_3D_Upscale_US 和 Anime4K_Restore_L

* perf: 优化 Anime4K_Restore_M

* perf: 优化几个效果

* perf: 优化两个效果

* perf: 优化两个效果

* perf: 优化更多效果

* perf: 优化更多效果

* perf: 优化更多效果

* feat: 记录显卡是否支持 fp16

* perf: 优化 CAS

* perf: 优化 FSRCNNX

* perf: 优化更多效果

* perf: 优化更多效果

* perf: 优化更多效果

* perf: 优化更多效果

* perf: 优化更多效果

* fix: 修正字符串资源

* fix: 修正字符串资源

* perf: 优化 FSR_EASU

* perf: 优化 FSR_RCAS

* perf: NIS 和 NVSharpen 更新到 v1.0.3
也添加了 FP16 支持,性能有很小的下降,但显存占用大幅下降

* feat: 叠加层上显示效果是否使用 FP16

* docs: 更新文档

* docs: 优化文档

* docs: 优化文档
2025-02-01 12:33:20 +08:00
.github chore: 修复 CI 和更新链接 2024-05-10 11:58:28 +08:00
certs 支持触控输入 (#900) 2024-05-09 22:32:50 +08:00
ci 支持 ARM64 架构 (#795) 2023-12-31 16:08:00 +08:00
docs FX 支持使用 FP16 (#1049) 2025-02-01 12:33:20 +08:00
img chore: 删除捐赠渠道 2023-10-09 22:25:58 +08:00
natvis chore: 添加 parallel-hashmap 依赖和 natvis 2022-10-09 16:14:35 +08:00
src FX 支持使用 FP16 (#1049) 2025-02-01 12:33:20 +08:00
tools chore: Dependabot 不支持 C++ 2023-11-13 11:56:21 +08:00
.all-contributorsrc docs: add TamilNeram as a contributor for translation (#1058) 2025-01-15 09:48:30 +08:00
.editorconfig feat: 适配 WPF 窗口 2022-07-23 15:59:02 +08:00
.gitattributes 添加 .gitignore 和 .gitattributes。 2021-02-20 21:20:07 +08:00
.gitignore 迁移到 Conan v2 (#731) 2023-10-15 10:33:06 +08:00
CONTRIBUTING.md docs: 更新文档 2023-11-27 14:55:31 +08:00
CONTRIBUTING_ZH.md docs: 更新文档 2023-11-27 14:55:31 +08:00
Directory.Build.props 将 Magpie.App.dll 合并进 Magpie.exe (#1032) 2024-12-18 18:27:39 +08:00
LICENSE RELICENSE: 许可变更为GPLv3 2021-07-25 14:56:08 +08:00
Magpie.sln 将 Magpie.App.dll 合并进 Magpie.exe (#1032) 2024-12-18 18:27:39 +08:00
publish.py 将 Magpie.App.dll 合并进 Magpie.exe (#1032) 2024-12-18 18:27:39 +08:00
README.md docs: add TamilNeram as a contributor for translation (#1058) 2025-01-15 09:48:30 +08:00
README_ZH.md docs: add TamilNeram as a contributor for translation (#1058) 2025-01-15 09:48:30 +08:00
Settings.XamlStyler 新图标 (#573) 2023-04-26 21:24:21 +08:00
version.json Update version.json 2024-06-22 13:33:56 +00:00


Logo

Magpie

License build All Contributors GitHub all releases

🌍 English | 简体中文

Magpie is a lightweight window scaling tool that comes equipped with various efficient scaling algorithms and filters. Its primary purpose is to enhance game graphics and enable non-fullscreen games to display in fullscreen mode.

We are using Weblate for localization work and would appreciate your help in translating Magpie into more languages.

Translation status

👉 Download

👉 FAQ

👉 Built-in effects

👉 Compilation guide

👉 Contributing

Features

  • Scale any window to fullscreen
  • Numerous built-in algorithms, including Lanczos, Anime4K, FSR, Adaptive Sharpen, various CRT shaders, and more
  • WinUI-based user interface with support for light and dark themes
  • Create configuration profiles for specific windows
  • Multi-monitor support

How to use

  1. Configuring scaling modes

    Magpie provides some simple scaling modes by default, but it is recommended to configure them according to your specific use case. Then, change the global scaling mode on the "Profiles"-"Defaults" page.

  2. Scaling a window

    To scale a window, bring the desired window to the foreground and press the shortcut key (default is Win+Shift+A) to display it in fullscreen mode. Note that the window to be scaled must be in windowed mode, not maximized or fullscreen mode. You can also use the "Scale after xs" button on the "Home" page, and Magpie will automatically scale the foreground window after a few seconds.

  3. Creating profiles for windows

    This allows you to save configurations specific to a particular window. Magpie also supports automatically activate scaling when that window is brought to the foreground.

  4. Customizing effects

    Magpie uses Direct3D compute shader to implement effects, but the syntax has been extended to define resources and organize multiple passes. For more information, please refer to MagpieFX. Those with experience in shader writing can easily create custom effects.

Screenshots

Main window

System requirements

  1. Windows 10 v1903+ or Windows 11
  2. DirectX feature level 11

Hints

  1. If you have set DPI scaling and the window you want to scale does not support high DPI (which is common in older games), it is recommended to first enter the program's compatibility settings and set "High DPI scaling override" to "Application".

  2. Some games support zooming the window, but with extremely naive algorithms. Please set the resolution to the built-in (best) option.

Acknowledgement

Thanks go to these wonderful people:

Xu
Xu

🚧 💻 👀 📖 💬
hooke007
hooke007

📖 💬 📓 💻
Pal Lockheart
Pal Lockheart

📓
Steve Donaghy
Steve Donaghy

💻 🌍
gyro永不抽风
gyro永不抽风

💻
ButtERRbrod
ButtERRbrod

🌍
NightFox
NightFox

🌍
Tzugimaa
Tzugimaa

💻
WHMHammer
WHMHammer

🌍
kato-megumi
kato-megumi

💻
Mike Wang
Mike Wang

📓
Sammy Hori
Sammy Hori

🌍
NeilTohno
NeilTohno

🌍
a0193143
a0193143

🌍
soulset001
soulset001

🌍
WluhWluh
WluhWluh

🎨
Serdar Sağlam
Serdar Sağlam

🌍
Andrus Diaz German
Andrus Diaz German

🌍
Kefir2105
Kefir2105

🌍
animeojisan
animeojisan

🌍
MuscularPuky
MuscularPuky

🌍
Zoommod
Zoommod

🌍
fil08
fil08

🌍
攸羚
攸羚

💻
OHaiiBuzzle
OHaiiBuzzle

🌍
Rastadu23
Rastadu23

🌍
hauuau
hauuau

💻
nellydocs
nellydocs

🌍
funnyplanter
funnyplanter

💻
Erich Yu
Erich Yu

💻
தமிழ் நேரம்
தமிழ் நேரம்

🌍

This project follows the all-contributors specification. Contributions of any kind are welcome!