A general-purpose window upscaler for Windows 10/11.
  • HLSL 91.6%
  • C++ 8.1%
  • C 0.2%
Find a file
2021-07-25 11:55:11 +08:00
BUILD_ALL_MODULES 移植SSimDownscaler 2021-07-07 22:25:35 +08:00
CursorHook 移植SSimDownscaler 2021-07-07 22:25:35 +08:00
docs 更新文档 2021-07-12 23:15:19 +08:00
EffectCommon 微小优化 2021-07-19 01:01:17 +08:00
img 细节优化 2021-06-14 13:41:53 +08:00
Magpie 完成关于页面 2021-07-25 11:55:11 +08:00
MODULE_ACNet 优化边界检查 2021-07-18 18:55:17 +08:00
MODULE_Anime4K 微小优化 2021-07-19 01:01:17 +08:00
MODULE_Common 微小优化 2021-07-19 01:01:17 +08:00
MODULE_FFX 微小优化 2021-07-19 01:01:17 +08:00
MODULE_FSRCNNX 优化边界检查 2021-07-18 18:55:17 +08:00
MODULE_RAVU 修复ravuZoom的偏色问题 2021-07-08 19:17:39 +08:00
MODULE_SSIM 更新文档 2021-07-12 23:15:19 +08:00
Runtime 完成关于页面 2021-07-25 11:55:11 +08:00
tools/HookTextureResolver 完成分离effect 2021-07-01 19:04:02 +08:00
.gitattributes 添加 .gitignore 和 .gitattributes。 2021-02-20 21:20:07 +08:00
.gitignore 尝试使用EasyHook实现完善光标映射 2021-03-12 19:37:40 +08:00
LICENSE 在MIT许可证下开源 2021-03-21 11:09:59 +08:00
Magpie.sln 细节优化 2021-07-24 19:15:26 +08:00
README.md 更新README 2021-07-13 00:10:28 +08:00

Lines of code Help Wanted

MAGPIE

Magpie可以将任意窗口放大至全屏支持多种高级缩放算法包括Lanczos、Anime4KRAVUFSRCNNX等。

主要用于游戏窗口的放大显示,适用于不支持全屏模式,或者内置的全屏模式会使画面模糊的情况。

欢迎标星,欢迎任何形式的贡献。

使用方法

窗口截图

要放大的窗口位于前台时,按下热键即可全屏显示该窗口,再次按下热键或者切换前台窗口将退出全屏。

以下为配置说明:

缩放模式

程序预置了多种缩放模式,如果它们不符合你的需求,请自定义缩放

  1. Lanczos常见的传统插值算法善于保留锐利的边缘。
  2. RAVUAbout RAVU。此预置使用zoom变体。
  3. FSRCNNXFSRCNN的变体。在各种场合表现优秀。
  4. ACNetACNetGLSL的移植。适合动画风格的图像和视频放大。
  5. Anime4K开源的高质量的实时动漫缩放/降噪算法。
    • Anime4K对输入应用一次Anime4K。默认使用降噪版本。
    • Anime4K+ThinLines执行Anime4K后细化线条。
  6. 像素将每个像素放大整数倍可以完整保留原图像的视觉效果。预置了2x和3x两种放大倍率。

抓取模式

指示程序如何抓取源窗口图像

  1. WinRT Capture使用Screen Capture API抓取窗口最推荐的方法。此API从Windows 10, v1803开始提供。
  2. GDI使用GDI抓取源窗口速度稍慢。

注入模式

如果源窗口使用了自定义光标屏幕上可能出现两个光标。为了解决这个问题Magpie提供了进程注入的功能

  1. 不使用注入:适用于源窗口没有自定义光标的场合
  2. 运行时注入:在执行缩放的同时注入源窗口线程,退出全屏后取消注入
  3. 启动时注入:适用于运行时注入不起作用的场合,不能注入正在运行的进程,需要手动选择要启动并注入的程序。

高级选项

  • 显示帧率:在屏幕左上角显示当前帧率

实现原理

因为实现原理的不同Magpie比Lossless ScalingIntegerScaler强大的多。Magpie的原理非常简单使用一个全屏窗口覆盖屏幕捕获原窗口的内容放大后在该全屏窗口显示出来。这种方式使得缩放算法不受任何限制让我们可以自由使用现存的优秀缩放算法。

使用提示

  1. 如果你设置了DPI缩放而要放大的窗口不支持表现为画面模糊请首先进入该程序的兼容性设置将“高DPI缩放替代”设置为“应用程序”。

    高DPI设置

  2. 一些游戏支持调整窗口的大小,但只是简单的使用线性缩放,这时请先将其设为原始分辨率。

免责声明

因为使用了进程注入技术,本程序极有可能被报毒。出于安全考虑,您应该检查源代码并自行编译。

开发本程序的初衷不含有任何恶意,但使用它所造成的后果应由您自己承担。

参见LICENSE

鸣谢

感谢以下优秀项目你们使Magpie的存在成为可能