Commit graph

121 commits

Author SHA1 Message Date
刘旭
3be22dd244 feat: 重新实现缓存机制 2022-03-04 08:49:03 +08:00
刘旭
aef73980b0 perf: 并行编译所有效果以提高性能 2022-03-03 14:19:04 +08:00
刘旭
1f06455d6c feat: 添加内联参数模式,此时参数将静态编译 2022-02-28 15:19:55 +08:00
Xu Liu
1cc86a8300 fix: 优化视口检查 2022-02-26 14:24:05 +08:00
刘旭
f8bae1521c refactor: 移除 DirectXTK 依赖
将其中读取 DDS 文件的代码摘取出来
2022-02-24 14:20:49 +08:00
刘旭
72fa4649ff feat: 支持缩放光标 2022-02-23 11:02:54 +08:00
Xu Liu
c860bde1ff feat: 实现效果渲染 2022-02-22 23:03:21 +08:00
Xu Liu
6fe6e194a3 feat: 实现 EffectDrawer 的初始化 2022-02-22 20:52:41 +08:00
刘旭
b8c58dfbc4 [WIP] 实现效果的渲染(1/2) 2022-02-22 17:23:19 +08:00
Xu Liu
7f54296a75 [WIP] 实现 MagpieFX v2 2022-02-20 21:46:18 +08:00
Xu Liu
36e3839caa feat: 实现绘制光标
最后一个效果的最后一个 Pass 负责绘制光标,大概可以提高性能
2022-02-20 15:54:00 +08:00
刘旭
4b25e5c43d refactor: 将 App::GetInstance 重命名为 App::Get 2022-02-18 15:59:20 +08:00
刘旭
73f41de149 refactor: 重构日志机制 2022-02-18 15:45:43 +08:00
Xu Liu
45592efef4 feat: 实现计算着色器版本的 Anime4K_Upscale_S 2022-02-16 21:04:53 +08:00
刘旭
04541584d2 feat: 实现计算着色器版本的FSR
不再支持 D3D 功能级别 10
2022-02-15 11:51:29 +08:00
Xu Liu
b054edf54a feat: 裁剪 ImGUI 的渲染目标
有没有更简单的方法?
2022-02-14 21:30:38 +08:00
刘旭
d7af567b79 feat: FPS 改为在 ImGUI 中显示 2022-02-14 17:13:12 +08:00
刘旭
bdc4088d59 feat: 创建一个 ImGUI backend 供 Magpie 使用
相比 win32 backend 相比主要的变化是光标位置的映射
2022-02-14 16:41:12 +08:00
刘旭
769f02bbc3 feat: 显示 ImGUI 的 demo 窗口 2022-02-14 14:11:35 +08:00
刘旭
4320dc8b25 refactor: 降低 App::Run 的复杂度 2022-02-14 10:09:44 +08:00
Xu Liu
4562a3a35b refactor: 添加 DeviceResources 管理底层 D3D 资源
进一步降低编译单元间的耦合度
2022-02-14 00:05:54 +08:00
Xu Liu
2961970388 refactor: StepTimer 重命名为 GPUTimer
GPUTimer 负责记录帧率和 GPU 时间
2022-02-13 20:09:57 +08:00
Xu Liu
0ed6c2fb3b refactor: 从 FrameSource 获取源窗口大小 2022-02-13 19:52:39 +08:00
Xu Liu
76a2193b41 refactor: 使用 winrt::com_ptr 替代 WRL::ComPtr 2022-02-13 19:38:33 +08:00
Xu Liu
b140ae2e9f feat: 不再支持指定帧率 2022-02-13 18:36:10 +08:00
Xu Liu
989a09cf86 refactor: 减少编译单元间的依赖 2022-02-13 17:51:53 +08:00
Xu Liu
ae9b6a2ffa feat: 更新依赖 2022-02-13 17:25:18 +08:00
Xu Liu
3d0a655db1 fix: 使用 SEQUENTIAL 交换链而不是 DISCARD
只要显卡支持始终启用 DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING
调试模式下开启 DXGI 调试
2022-01-30 19:13:10 +08:00
Xu Liu
e6034f0a29 chore: 添加日志 2022-01-22 18:48:59 +08:00
Xu Liu
ed6f644384 feat: 实现自定义裁剪功能 2022-01-18 18:58:25 +08:00
Xu Liu
f9dbe672a9 fix: 优化 json 解析 2022-01-12 20:52:14 +08:00
Xu Liu
8c826b0aff fix: 优化 D3D 调试层的创建 2022-01-10 19:28:41 +08:00
Xu Liu
488a4bf126 refactor: 优化 Desktop Duplication 2022-01-09 17:06:28 +08:00
刘旭
6de6d1aee1 refactor: 将捕获模式分为两类:屏幕捕获和窗口捕获
尽量不直接使用 GetCaptureMode,而是将捕获模式的特性实现为公共方法
2021-12-29 14:15:07 +08:00
Xu Liu
47ba53d036 feat: Desktop Duplication 允许小的弹窗而不退出全屏 2021-12-26 16:38:59 +08:00
刘旭
6eae6c6bc8 fix: 优化错误处理 2021-12-23 16:38:19 +08:00
刘旭
687ee5cd27 fix: 优化多屏幕模式下的边界处理 2021-12-23 14:45:29 +08:00
Xu Liu
ef57d36569 feat: 只在必要的时候进入多屏幕模式 2021-12-22 19:32:34 +08:00
刘旭
59cb19ae22 fix: 修复和 win10 的开始菜单窗口的兼容性 2021-12-22 12:29:37 +08:00
Xu Liu
4437f2f6a0 feat: 弹出开始菜单窗口时不退出全屏
之后会改变这个行为
2021-12-21 22:39:28 +08:00
Xu Liu
c0cf50c15e feat: 桌面窗口和alt+tab窗口激活时不再退出全屏
fix: 使用动态限制光标的方法修复光标在窗口边缘的移动问题
2021-12-21 20:17:49 +08:00
刘旭
c87e472fb7 Revert "feat: 使用底层hook优化光标在窗口边界的移动"
This reverts commit 84ad9ce2a8.
2021-12-21 15:52:55 +08:00
刘旭
84ad9ce2a8 feat: 使用底层hook优化光标在窗口边界的移动
实验性的更改,似乎太过hack,增加了被报毒可能性
2021-12-21 15:11:59 +08:00
Xu Liu
8035abde92 feat: 放松多屏幕下源窗口的状态检查 2021-12-20 20:49:15 +08:00
刘旭
0ab13bcfb8 feat: 实现光标进入全屏窗口的逻辑
难点在于自动调整光标位置,以及存在权限方面的问题,SetCursorPos 无法移动到权限更高的窗口上
2021-12-20 11:21:26 +08:00
Xu Liu
c554c42324 fix: 修复动态常量和 Desktop Duplication 的兼容性 2021-12-14 21:53:40 +08:00
Xu Liu
5a7c02766b feat: MagpieFX 支持 frameCount 2021-12-14 21:14:22 +08:00
Xu Liu
3404e510eb refactor: FrameSource 初始化完成后再计算源窗口边框
因为 FrameSource 初始化过程中可能改变源窗口位置
2021-12-12 21:19:28 +08:00
Xu Liu
c783250cdf feat: 系统不支持时隐藏 Graphics Capture 和/或 Desktop Duplication 捕获方式
梅开二度
2021-12-09 20:28:18 +08:00
Xu Liu
8a153d4787 perf: 优化 Desktop Duplication 的性能 2021-12-08 20:49:24 +08:00