Commit Graph

6 Commits

Author SHA1 Message Date
Shatyuka
66afbc83ae 截图优化 (#1573)
* 截图优化

* 窗口选择排除WS_EX_LAYERED

云原神

* 优化原神窗口判断
2025-05-12 22:39:02 +08:00
Shatyuka
0bea2d095a 截图优化 (#1480)
* BitBlt 优化

* BitBlt恢复Top-down

* 渲染时翻转图像

* CaptureSession引用计数

* 恢复成无拷贝Mat

* 合法性检查

* 优化截图预览窗口

* 保存截图文件必要时需要克隆一份Mat

* BitBlt内存池

* 返回拷贝就不用对Session做引用计数了

* 移除CaptureImageRes

* 优化DirectX

* 更好地处理padding

* BitBlt去掉padding

1920*1080的游戏窗口是4字节对齐的,因此不会有性能影响。这里主要用于测试。

* 修复修改窗口大小

* 合并CreateStagingTexture

* 修复设备丢失崩溃

* WGC截图支持HDR

* fix typo

* CodeQA

* 去掉1px窗口边框

* DirectX截图去掉A通道

* HDR转换使用GPU加速

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 01:17:18 +08:00
Takaranoao
066aa81d65 让 bitblt 极速 使用GDI+ 生成 Bitmap 而不是 使用OpenCvSharp 生成 Mat (#1441)
* 让 bitblt 极速 使用GDI+ 生成 Bitmap 而不是 使用OpenCvSharp 生成 Mat

* typo
2025-04-14 22:11:24 +08:00
Takaranoao
1d17d7f12c 加了一堆爆炸时候的判断,希望能抵挡住汹涌的bug (#1415) 2025-04-08 00:52:25 +08:00
Takaranoao
9af7575d2b bitblt 还能更快 (#1395)
* Bitblt:GDI直接返回转换后的位图,不再由CV二次转换

* update documentation for clarity

* typo
2025-04-03 21:28:13 +08:00
Takaranoao
8951cc1adc bitblt截图修改:复用缓冲区以减少每次截图时的内存分配 (#1387)
* Refactor BitBltCapture and add BitBltSession for improved thread safety and resource management

* 删掉无用的锁

* Fix session invalidation handling in BitBltCapture and add IsInvalid method to BitBltSession

* Refactor resource release logic in BitBltSession to ensure proper order of operations

* Refactor IsInvalid method and clean up resource release logic in BitBltSession

* 析构函数加满

* 截图失败的时候重置会话避免卡死,改善锁的范围

* Use static Console for error logging in BitBltCapture

* Improve error logging format in BitBltCapture for session creation failure
2025-04-03 01:46:20 +08:00