Commit graph

20 commits

Author SHA1 Message Date
Xu
1e4df90075 feat: 支持格鲁吉亚语和构建 ImGui 字体的性能优化 2025-03-22 17:03:54 +08:00
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
Xu
8b278b4f52
将 Magpie.App.dll 合并进 Magpie.exe (#1032)
* chore: 将 Magpie.App.dll 合并进 Magpie.exe

* fix: Logger 不再需要初始化两次

* chore: 防止退出时在 threadpoolwinrt.dll 中崩溃

* chore: 优化编译

* chore: _ConanDeps 移植为 msbuild 脚本,需要进一步实现 up-to-date 检查

* chore: _ConanDeps 实现 up-to-date 检查

* chore: 由于架构更改,现在可以直接引用 Magpie.Core

* chore: 修复编译

* refactor: 将一些类移出 Shared

* chore: 将 Shared 中的文件移到 Magpie.Core

* refactor: 优化架构

* refactor: 命名空间调整

* refactor: XamlApp 合并进 App

* perf: 优化自定义事件的性能

* refactor: 使 XamlWindow 继承自 WindowBase

* refactor: 删除几个控件的 DependencyProperty

* fix: 避免 Win10 中退出后崩溃

* chore: 添加断言和注释

* refactor: 检测主题更改的逻辑集中在 App 中

* perf: 直接使用 RootPage 的实现类型

* refactor: 添加主窗口 DPI 改变事件

* refactor: 不再使用 Magpie.Core 命名空间

* fix: 修复析构全局变量时崩溃的问题

* chore: 添加注释

* perf: 更多地方直接使用实现类型

* perf: 更多地方直接使用实现类型

* chore: 避免依赖项缺少 pdb 导致链接警告

* perf: 更多地方直接使用实现类型

* fix: 修复无法更新的问题
2024-12-18 18:27:39 +08:00
Xu
3ce10c2b74
支持触控输入 (#900)
* chore: 删除不需要的 const 说明符

* chore: 优化 Updater 分组

* feat: 添加 TouchHelper 项目

* feat: TouchHelper 需要 UIAccess 权限

* feat: 缩放配置页面改名为缩放模式页面

* feat: 添加自签名证书

* chore: 发布时为 TouchHelper 签名

* feat: 实现 TouchHelper 的功能

* feat: 高级选项移到主页

* feat: 实现安装证书

* perf: 安装证书前检查是否已经安装

* feat: 在单独的文件中记录 TouchHelper 的版本号

* feat: 实现 UI 功能 (1/2)

* feat: 实现 UI 功能 (2/2)

* fix: 修复有时更改触控支持选项时崩溃的问题

* feat: 给触控选项添加说明

* feat: 设置证书友好名称

* feat: 记录 MagSetInputTransform 调用结果

* docs: 添加触控支持说明

* docs: 添加英语文档

* docs: 更新编译文档

* refactor: 使用 ChangeWindowMessageFilterEx 替换 ChangeWindowMessageFilter

* UI: 优化触控支持 UI

* feat: 缩放前自动修复触控支持

* docs: 更新触控支持文档

* feat: 管理员身份下不展示提示

* feat: 了解更多按钮指向文档

* feat: 尝试解决黑边问题

* feat: 解决黑边的触控

* chore: 优化注释

* fix: 优化错误处理

* refactor
2024-05-09 22:32:50 +08:00
Xu
ecf05baf57
引入 WIL (#894)
* chore: 引入 WIL

* chore: 引入 WIL 的错误处理

* Revert "chore: 引入 WIL 的错误处理"

This reverts commit 32d0fb25b4.

* refactor: 删除 ScopeExit,WIL 中有替代品

* refactor: 删除 ScopedHandle,WIL 中有替代品

* refactor: 删除 CSMutex 和 SRWMutex,WIL 中有替代品

* refactor: 删除 BStr,WIL 中有替代品

* chore: 不使用 WIL 的 VARIANT

* perf: 优化匹配配置文件的性能

* refactor: 删除 Win32Utils::CreateDir,改为 wil::CreateDirectoryDeepNoThrow

* refactor: 简化代码

* refactor: 简化代码

* refactor: GetModuleHandle(nullptr) 替换为 wil::GetModuleInstanceHandle

* feat: 优化获取程序路径

* refactor: 使用 wil::notify_property_changed_base 简化代码

* refactor: 添加 WinRTUtils::Event 简化创建事件的代码

* refactor: 简化代码

* refactor: 简化代码

* perf: 优化初始化时解析效果的性能

* refactor: 避免使用 <filesystem>
这使二进制文件减小了 6KB

* refactor: UpdateService 改为使用 Win32 接口写文件
1. WriteFile 非常快,没有异步的必要。
2. 不知为何有时快要下载完成时 co_await fileStream.WriteAsync(resultBuffer) 会崩溃,原因是“Layout cycle detected”,这很可能是 XAML 的 bug。

* perf: 使用 CNG 计算 MD5

* refactor: 简化代码

* fix: 修复 Win11 中打开通知区域溢出菜单导致意外终止缩放的问题

* refactor: 简化代码

* refactor: 简化代码

* refactor: 简化代码

* chore: 删除多余引用
2024-04-16 19:01:52 +08:00
Xu
c6feb08498 Merge branch 'dev' into render-system 2023-11-19 21:49:25 +08:00
Xu
04d782cbce
使用 CI 发布版本 (#737)
* feat: 从宏读取版本号

* feat: 用 CI 发布时传入版本号

* feat: 使用 CI 发布版本

* chore: 删除 ci/release.py
2023-10-25 00:13:58 +08:00
刘旭
3e80bf56a5 feat: MagpieFX v4 2023-06-11 16:57:37 +08:00
刘旭
65d339c009
feat: 移除 zstd (#623) 2023-05-20 21:16:18 +08:00
刘旭
6305493bfb
优化游戏内叠加层的性能 (#615)
* feat: 添加 ImGuiBackend

* chore: 优化格式

* refactor: 将 ImGuiBackend 重构为类

* chore: 清理 ImGuiBackend

* chore: 清理 ImGuiBackend

* chore: 清理 ImGuiBackend

* perf: 优化着色器编译

* feat: 添加错误记录

* feat: 不再按需构造字体

* feat: 添加 ImGuiFontCacheManager

* feat: 实现序列化 ImFontAtlas

* feat: 实现反序列话 ImFontAtlas

* feat: 为字体缓存添加版本号

* feat: 在字体缓存中保存调试名称

* feat: 添加禁用字体缓存选项
2023-05-20 20:16:52 +08:00
刘旭
92348d8a88
子项目不再共享 Conan 依赖 (#601)
* chore: 子项目之间不再共享 Conan 依赖
这可以有效减小可执行文件的体积

* chore: 修复编译

* chore: 不要复制 conanfile.txt

* Update build.yml
2023-05-12 18:22:02 +08:00
刘旭
c50fbbda98 chore: 将 Magpie.Core 的警告等级提高为 4,并修复编译警告 2022-12-02 12:10:17 +08:00
刘旭
8db680a52c fix: 修复含 USE_DYNAMIC 标志的效果无法缓存的问题 2022-10-13 21:52:50 +08:00
刘旭
3d1ca6f303 perf: 更多 parallel-hashmap 2022-10-09 21:38:31 +08:00
刘旭
1d9d395a9b perf: 迁移到 parallel-hashmap 2022-10-09 19:19:02 +08:00
刘旭
440d6a7688 fix: 修复 ARM64 编译 2022-10-08 13:39:48 +08:00
刘旭
233a8d33f6 feat: 更新 MagpieFX
参数的 MIN、MAX、STEP 为必需项
2022-09-28 14:41:46 +08:00
刘旭
12591c4212 perf: 迁移到 SmallVector 2022-09-14 21:20:57 +08:00
刘旭
37e584b5d6 chore: 更新命名空间 2022-08-29 12:35:45 +08:00
刘旭
611774aef6 chore: 将 Runtime 重命名为 Magpie.Core 2022-08-29 11:56:22 +08:00
Renamed from src/Runtime/EffectCacheManager.cpp (Browse further)