Commit graph

68 commits

Author SHA1 Message Date
Xu
a2dceaf57d perf: _cursorBaseSize 变化后避免等待 GPU 2026-03-16 10:37:05 +08:00
Xu
b28f02b38d fix: 修复 sRGB 和其他色域互转 2026-03-14 18:50:44 +08:00
Xu
c24849a281 feat: 支持 SM6 以及引入 DXC 2026-03-14 14:40:23 +08:00
Xu
78fb2c9b9a fix: 避免重复尝试解析光标 2026-03-12 14:06:40 +08:00
Xu
de3afc9876 refactor: 封装 command list 接口 2026-03-12 11:10:00 +08:00
Xu
66cc806b7a feat: 初步实现缩放光标纹理 2026-03-11 13:30:20 +08:00
Xu
ae39b21650 refactor: 删除旧版 CursorDrawer 2026-03-10 16:16:05 +08:00
Xu
792aeb1c0f feat: 实现在叠加层上绘制掩码光标 2026-03-10 14:46:35 +08:00
Xu
c7bb28d0fb feat: 实现绘制光标 (p10)
初步支持单色光标
2026-03-09 12:43:45 +08:00
Xu
98ec450dbc perf: 使用固定大小的描述符堆
动态描述符堆限制太多,尤其是不支持在渲染过程中分配。现在固定使用 64K 个描述符,肯定够用了
2026-03-08 20:09:03 +08:00
Xu
ba34dd8b3c feat: 实现绘制光标 (p9) 2026-03-08 19:01:02 +08:00
Xu
44768d5922 feat: 实现绘制光标 (p8) 2026-03-04 12:29:43 +08:00
Xu
83b3af72bf feat: 实现绘制光标 (p7)
处理光标色域
2026-03-03 20:30:45 +08:00
Xu
34bd6b9162 feat: 实现绘制光标 (p6) 2026-03-03 15:10:37 +08:00
Xu
51ea21a9f6 feat: 实现动态描述符堆 (p6) 2026-03-02 14:29:43 +08:00
Xu
7c67b4f6b2 feat: 实现动态描述符堆 (p5) 2026-02-27 14:56:54 +08:00
Xu
6b84d780de feat: 实现动态描述符堆 (p4) 2026-02-26 10:38:11 +08:00
Xu
fd8f956c6e feat: 实现动态描述符堆 (p3) 2026-02-25 12:47:42 +08:00
Xu
cb2ced9b42 feat: 实现动态描述符堆 (p2) 2026-02-25 10:42:36 +08:00
Xu
65502115e6 feat: 实现动态描述符堆 (p1) 2026-02-24 14:46:46 +08:00
Xu
1fbbeca375 feat: 实现绘制光标 (p5) 2026-01-20 17:01:45 +08:00
Xu
514858993c feat: 实现绘制光标 (p2) 2026-01-12 17:28:16 +08:00
Xu
7dbb7a619d fix: 修复 WCG 和 HDR 间切换可能不会立刻捕获新帧的问题 2026-01-08 22:05:18 +08:00
Xu
ad3892bdf9 feat: 实现绘制光标 (p1) 2026-01-08 20:52:33 +08:00
Xu
4bfd962c4f fix: 多个错误修复 2026-01-08 16:57:14 +08:00
Xu
fb4c3b183d feat: WindowCase 支持模拟不同类型的光标 2026-01-05 22:06:31 +08:00
Xu
df05e9e13b perf: 提高改变大小和色域的性能 2025-12-31 16:46:32 +08:00
Xu
a197c474e5 feat: 支持改变色域 2025-12-31 14:10:50 +08:00
Xu
debc99615e perf: 改为使用 D3D11 检查重复帧
有两个原因:
1. D3D11 支持 IDXGIDevice::SetGPUThreadPriority,可以提高 GPU 优先级,而 D3D12 没有等价接口。
2. 对于小任务 D3D11 启动渲染的耗时比 D3D12 短,差距可以达到 50us 以上。
2025-12-28 17:25:51 +08:00
Xu
f70ac6c434 feat: 实现重复帧检测 (p3) 2025-12-23 17:14:09 +08:00
Xu
7ab216079d feat: 实现重复帧检测 (p1) 2025-12-22 21:50:17 +08:00
Xu
409b47e814 fix: 修复 WGC 导致光标消失 2025-12-22 15:28:22 +08:00
Xu
92022a5ec3 feat: 测量渲染用时 2025-12-17 15:05:23 +08:00
Xu
624536cac2 perf: 使用 D3D12_HEAP_FLAG_CREATE_NOT_ZEROED 优化创建堆的性能 2025-12-15 15:58:48 +08:00
Xu
c5878938d0 perf: 提高消费者队列的优先级 2025-12-14 20:31:23 +08:00
Xu
a826b36262 feat: 测量从捕获到呈现的耗时 2025-12-13 16:01:30 +08:00
Xu
747c101f26 feat: 测量捕获帧被 DWM 呈现到被 Magpie 呈现的延迟 2025-12-13 14:24:46 +08:00
Xu
872337bb67 feat: 添加调试信息 2025-12-12 17:57:34 +08:00
Xu
601cc539bb feat: CatmullRom 适应色域 2025-12-11 20:13:59 +08:00
Xu
0af6528215 feat: 生产者完成新帧后通知消费者 2025-12-11 19:36:16 +08:00
Xu
cf9241b62d feat: 实现 CatmullRom (p2) 2025-12-11 15:56:43 +08:00
Xu
eb88670b8f feat: 实现 CatmullRom (p1) 2025-12-10 22:09:26 +08:00
Xu
b2166d4d53 perf: WGC 避免重复复制 2025-12-10 13:47:31 +08:00
Xu
9157a3fb8b fix: 生产者写入共享纹理结束后将其转换到只读状态以确保安全 2025-12-10 10:22:50 +08:00
Xu
b40b2875e9 perf: 捕获时异步复制纹理,可以提高并行度 2025-12-09 13:48:33 +08:00
Xu
095d349877 feat: 实现更改输出画面位置 2025-12-09 10:13:00 +08:00
Xu
0bb28015b3 feat: 实现大小调整 2025-12-08 20:57:27 +08:00
Xu
309c5a1710 feat: 初步实现鼠标功能 2025-12-08 15:56:48 +08:00
Xu
47dee842dd feat: 第一帧渲染完成后显示缩放窗口 2025-12-08 13:13:23 +08:00
Xu
4326dc627c perf: 避免多余栅栏 2025-12-08 12:51:59 +08:00