Commit graph

35 commits

Author SHA1 Message Date
Xu
424576b0cf
[FX] 不再支持 GetFrameCount (#1165)
* feat: 不再正式支持 GetFrameCount

* docs: 更新文档

* feat: 删除 GetFrameCount 定义

* feat: USE 和 CAPABILITY 标志不再区分大小写
2025-05-27 19:22:56 +08:00
Xu
a32ea649dc
[FX] 添加 CAPABILITY 指令 (#1164)
* feat: FP16 归类到 CAPABILITY

* feat: 效果本身的属性和编译赋予的属性分开

* feat: USE 和 CAPABILITY 禁止重复的标志

* docs: 更新文档
2025-05-26 22:12:15 +08:00
Xu
1e4df90075 feat: 支持格鲁吉亚语和构建 ImGui 字体的性能优化 2025-03-22 17:03:54 +08:00
Xu
cd41a175c7 feat: 同版本的 FX 向下兼容
遇到未知指令不再失败
2025-02-08 16:43:51 +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
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
77a989e63d [fx] feat: 不支持 OUTPUT 作为输入 2024-03-31 09:35:54 +08:00
刘旭
6f4eb759e9 feat: 不再内置 Bicubic 2024-03-25 09:56:10 +08:00
hauuau
611415ce1e
Fix generation of effect source files in subdirectories (#814)
* Fix generation of effect source files in child directories

* Fixes per PR review
2024-01-19 20:08:15 +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
刘旭
d6ef27a746 feat: 检测重复帧,和前一阵相同时不再重复渲染 2023-06-27 20:39:22 +08:00
刘旭
caf48fe791 feat: 更新部分效果 2023-06-26 16:20:02 +08:00
刘旭
8933403395 feat: MagpieFX 不再支持 GENERIC_DOWNSCALER 2023-06-15 16:49:55 +08:00
刘旭
a051caa398 feat: 内置 Bicubic 2023-06-13 21:42:35 +08:00
刘旭
3a5c8a65b8 feat: 内置 Nearest 和 Bilinear 2023-06-13 20:26:22 +08:00
刘旭
c05720bb15 feat: EffectDrawer 2023-06-11 23:46:17 +08:00
刘旭
68b9656192 feat: 编译效果 2023-06-11 18:10:30 +08:00
刘旭
3e80bf56a5 feat: MagpieFX v4 2023-06-11 16:57:37 +08:00
刘旭
298d4da1bb feat: 效果支持排序名称 2023-03-03 23:19:54 +08:00
刘旭
47b9352be9 Revert "feat: MagpieFX 增加 BUILT_IN 标志"
This reverts commit 0d043df1df.
2023-01-28 09:23:27 +08:00
刘旭
1c46059cb5 refactor: 减少头文件引用以加快编译速度 3 2022-12-06 20:58:14 +08:00
刘旭
b6e87038a1 refactor: 减少头文件引用以加快编译速度 2 2022-12-06 19:29:47 +08:00
刘旭
aec7bf1b14 refactor: 减少头文件引用以加快编译速度 1 2022-12-06 19:13:34 +08:00
刘旭
c50fbbda98 chore: 将 Magpie.Core 的警告等级提高为 4,并修复编译警告 2022-12-02 12:10:17 +08:00
刘旭
baab8ee5ff feat: 禁止缩放特殊的系统窗口,如开始菜单、任务栏、桌面窗口等 2022-11-30 19:31:49 +08:00
刘旭
0d043df1df feat: MagpieFX 增加 BUILT_IN 标志 2022-10-23 16:13:56 +08:00
刘旭
de25513153 feat: 添加 GENERIC_DOWNSCALER 标志 2022-10-14 11:28:47 +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
刘旭
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/EffectCompiler.cpp (Browse further)