YuehaiTeam / zhiqiong

【重构中】志琼:米游社悬浮跟踪地图。Show realtime in game location in the Teyvat Interactive Map, in browser and mobile phones!
https://zhiqiong.vercel.app
51 stars 1 forks source link

地图识别失败:Bitblt模式下未能检测到派蒙 #12

Closed Bilx-ZL closed 1 year ago

Bilx-ZL commented 2 years ago

地图识别失败:Bitblt模式下未能检测到派蒙

在Win11设置【系统-屏幕-显示卡-更改默认图形设置】中关闭窗口化游戏优化

yxok200 commented 2 years ago

+1 一直报错,搜索派蒙图标位置失败

HuanLinOTO commented 1 year ago

+1 我也是

Bilx-ZL commented 1 year ago

每次看到抄送,还以为解决了,结果是群发性故障

HuanLinOTO commented 1 year ago

每次看到抄送,还以为解决了,结果是群发性故障

看到你的我也以为解决了。。

xytoki commented 1 year ago

报错有没有变化?前段时间推送了一个新版,应该会输出更精确的错误码和信息,现在还是提示“搜索派蒙图标位置失败”吗?

xytoki commented 1 year ago

这问题现在只能尝试给cvautotrack的算法做优化,一周多之前推的那个版本主要是修了疯狂尝试切换DX模式问题和优化FSR下的成功率,但对于有的设备SMAA下都识别不出来的情况还没处理。如果还有这两问题可以试试找一下autotrack.log传到这里(通常在C:\Program Files\cocogoat-control目录下,如果不在就在C:\Windows\System32

HuanLinOTO commented 1 year ago

这问题现在只能尝试给cvautotrack的算法做优化,一周多之前推的那个版本主要是修了疯狂尝试切换DX模式问题和优化FSR下的成功率,但对于有的设备SMAA下都识别不出来的情况还没处理。如果还有这两问题可以试试找一下autotrack.log传到这里(通常在C:\Program Files\cocogoat-control目录下,如果不在就在C:\Windows\System32

忘了提issue的基本要素

系统环境

Windows11 21h2 22000.1335

语言环境(丢全局了的)

Python3.7.9 Node.js16.15.1(npm8.18.0) jdk17 gcc4.9.2

椰羊各应用版本

霜华v1.3.0 志琼(不知道,昨天从官网覆盖安装了最新版本)

截图

image

原神分辨率

1980*700

Log

https://pastebin.com/PXM4tyBq

sylar605 commented 1 year ago

2022-12-29 15:31:31 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon 2022-12-29 15:31:32 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:32 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 15:31:32 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:32 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon 2022-12-29 15:31:33 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:33 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 15:31:33 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:33 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon 2022-12-29 15:31:34 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:34 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 15:31:34 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:34 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon 2022-12-29 15:31:34 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:34 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 15:31:34 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:34 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon 2022-12-29 15:31:35 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:35 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 15:31:35 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:35 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon 2022-12-29 15:31:36 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:36 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 15:31:36 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 15:31:36 | 错误代码:3001 ,错误信息:获取视角朝向时,没有识别到paimon

Bilx-ZL commented 1 year ago

因为常年故障状态,后面没用了。我刚才去看了下,和 @sylar605一样的情况,报错和日志一模一样。

屏幕截图_20221229_185644

屏幕截图 2022-12-29 190553
HuanLinOTO commented 1 year ago

---我原本想逝逝能不能编译一份霜华来尝试提供更多信息的 却发现好像缺个MfcClass(翻烂了github和baidu+bing都没找到带Manager.h的)个人没干过c系列语言开发--- 草 我傻逼了 没看到lib文件夹里有

xytoki commented 1 year ago

---我原本想逝逝能不能编译一份霜华来尝试提供更多信息的 却发现好像缺个MfcClass(翻烂了github和baidu+bing都没找到带Manager.h的)个人没干过c系列语言开发--- 草 我傻逼了 没看到lib文件夹里有

问题不会在霜华里,在cvautotrack.dll的识别算法,cvautotrack.dll是每次开始识别的时候热更新的。比如说50001的错误码在这里:

https://github.com/YuehaiTeam/GenshinImpact_AutoTrack_DLL/blob/8fe4cf5ea9745314692d06becfe65c96829c9383/cvAutoTrack/src/AutoTrack.cpp#L857-L861

然后造成50001的参数在这里: https://github.com/YuehaiTeam/GenshinImpact_AutoTrack_DLL/blob/8fe4cf5ea9745314692d06becfe65c96829c9383/cvAutoTrack/src/match/match_minimap.cpp#L85

sylar605 commented 1 year ago

大概率原因是Bitblt模式不支持win11

HuanLinOTO commented 1 year ago

\

大概率原因是Bitblt模式不支持win11

我在7月份左右用的时候没问题的啊 难不成7月份之后换了?

xytoki commented 1 year ago

\

大概率原因是Bitblt模式不支持win11

我在7月份左右用的时候没问题的啊 难不成7月份之后换了?

十月底依赖的cvautotrack更新到了v7,有大量的实现方式和接口改变; 然后确实是有Bitblt模式不支持win11的说法,但是目前只在Win11 Dev Preview下有出现(我未验证,参照 GengGode/GenshinImpact_AutoTrack_DLL/issues/30 ),而且cvautotrack的dx实现有比较大的精度问题

sylar605 commented 1 year ago

\

大概率原因是Bitblt模式不支持win11

我在7月份左右用的时候没问题的啊 难不成7月份之后换了?

十月底依赖的cvautotrack更新到了v7,有大量的实现方式和接口改变; 然后确实是有Bitblt模式不支持win11的说法,但是目前只在Win11 Dev Preview下有出现(我未验证,参照 GengGode/GenshinImpact_AutoTrack_DLL/issues/30 ),而且cvautotrack的dx实现有比较大的精度问题

似乎是更新了22H2?我这边似乎是22H2后出现不行的

HuanLinOTO commented 1 year ago

\

大概率原因是Bitblt模式不支持win11

我在7月份左右用的时候没问题的啊 难不成7月份之后换了?

十月底依赖的cvautotrack更新到了v7,有大量的实现方式和接口改变; 然后确实是有Bitblt模式不支持win11的说法,但是目前只在Win11 Dev Preview下有出现(我未验证,参照 GengGode/GenshinImpact_AutoTrack_DLL/issues/30 ),而且cvautotrack的dx实现有比较大的精度问题

要不我试试管理员运行霜华插件 and dll编译这块的话我有一台V100炼丹机 应该可以搭建workflow cpu一直吃满,gpu轻松摸鱼这种局面太难受了()

HuanLinOTO commented 1 year ago

\

大概率原因是Bitblt模式不支持win11

我在7月份左右用的时候没问题的啊 难不成7月份之后换了?

十月底依赖的cvautotrack更新到了v7,有大量的实现方式和接口改变; 然后确实是有Bitblt模式不支持win11的说法,但是目前只在Win11 Dev Preview下有出现(我未验证,参照 GengGode/GenshinImpact_AutoTrack_DLL/issues/30 ),而且cvautotrack的dx实现有比较大的精度问题

似乎是更新了22H2?我这边似乎是22H2后出现不行的

我21h2 也有 image

xytoki commented 1 year ago

我目前是22H2 Release Preview,自己机子是能正常的;dll编译有action,可以fork了然后用action跑一下。 只调试DLL、不开霜华和志琼的方法: 下载TEST_cvAutoTrack_Cpp.exe (来源:GengGode/GenshinImpact_AutoTrack_DLL/releases/tag/7.3.3),和DLL放一起,管理员身份运行,就能直接调dll的接口,方便确认问题

sylar605 commented 1 year ago

\

大概率原因是Bitblt模式不支持win11

我在7月份左右用的时候没问题的啊 难不成7月份之后换了?

十月底依赖的cvautotrack更新到了v7,有大量的实现方式和接口改变; 然后确实是有Bitblt模式不支持win11的说法,但是目前只在Win11 Dev Preview下有出现(我未验证,参照 GengGode/GenshinImpact_AutoTrack_DLL/issues/30 ),而且cvautotrack的dx实现有比较大的精度问题

要不我试试管理员运行霜华插件 and dll编译这块的话我有一台V100炼丹机 应该可以搭建workflow cpu一直吃满,gpu轻松摸鱼这种局面太难受了()

我试过用浏览器油猴版+管理员启动浏览器+管理员启动椰羊插件 不行 报一样的错

xytoki commented 1 year ago

目前看来两个可能性比较大,一个是bitblt抓到的图有问题,一个是cvautotrack的识别算法有问题。 上面的调试exe可以直接生成截图,可以看看bitblt能不能抓到,以及会不会有之前有人说的只能抓一帧后面就没了或者重复了的问题

sylar605 commented 1 year ago

试了下OBS的bitblt一切正常

sylar605 commented 1 year ago

一开始提示 2022-12-29 20:06:06 | 错误代码:40001 ,错误信息:Bitblt模式下检测派蒙失败 2022-12-29 20:06:06 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 20:06:20 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:24 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:25 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:43 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 20:06:43 | 错误代码:1001 ,错误信息:获取坐标时,没有识别到paimon

然后07分 08分截图成功 再截图就是同一帧 永远停留在同一帧

HuanLinOTO commented 1 year ago

一开始提示 2022-12-29 20:06:06 | 错误代码:40001 ,错误信息:Bitblt模式下检测派蒙失败 2022-12-29 20:06:06 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 20:06:20 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:24 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:25 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:43 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 20:06:43 | 错误代码:1001 ,错误信息:获取坐标时,没有识别到paimon

然后07分 08分截图成功 再截图就是同一帧 永远停留在同一帧

ummm调试工具的截图保存到哪里了

HuanLinOTO commented 1 year ago

连续执行了两次2 2022-12-29 20:12:19 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:13:29 | 错误代码:251 ,错误信息:画面为空

HuanLinOTO commented 1 year ago

image 我obs也没问题

HuanLinOTO commented 1 year ago

dx截图可用吗?也不行

sylar605 commented 1 year ago

一开始提示 2022-12-29 20:06:06 | 错误代码:40001 ,错误信息:Bitblt模式下检测派蒙失败 2022-12-29 20:06:06 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 20:06:20 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:24 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:25 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:43 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 20:06:43 | 错误代码:1001 ,错误信息:获取坐标时,没有识别到paimon 然后07分 08分截图成功 再截图就是同一帧 永远停留在同一帧

ummm调试工具的截图保存到哪里了

同目录

HuanLinOTO commented 1 year ago

一开始提示 2022-12-29 20:06:06 | 错误代码:40001 ,错误信息:Bitblt模式下检测派蒙失败 2022-12-29 20:06:06 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 20:06:20 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:24 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:25 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:43 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 20:06:43 | 错误代码:1001 ,错误信息:获取坐标时,没有识别到paimon 然后07分 08分截图成功 再截图就是同一帧 永远停留在同一帧

ummm调试工具的截图保存到哪里了

同目录

251 截图失败 那是不是就没有输出

sylar605 commented 1 year ago

一开始提示 2022-12-29 20:06:06 | 错误代码:40001 ,错误信息:Bitblt模式下检测派蒙失败 2022-12-29 20:06:06 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 20:06:20 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:24 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:25 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:43 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 20:06:43 | 错误代码:1001 ,错误信息:获取坐标时,没有识别到paimon 然后07分 08分截图成功 再截图就是同一帧 永远停留在同一帧

ummm调试工具的截图保存到哪里了

同目录

251 截图失败 那是不是就没有输出

对 我报251也没有输出 然后多截几张又成功了

HuanLinOTO commented 1 year ago

一开始提示 2022-12-29 20:06:06 | 错误代码:40001 ,错误信息:Bitblt模式下检测派蒙失败 2022-12-29 20:06:06 | 错误代码:1001 ,错误信息:GetTransformOfMap: 标定小地图区域失败 2022-12-29 20:06:20 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:22 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:24 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:25 | 错误代码:251 ,错误信息:画面为空 2022-12-29 20:06:43 | 错误代码:50001 ,错误信息:Bitblt模式下未能检测到派蒙 2022-12-29 20:06:43 | 错误代码:1001 ,错误信息:获取坐标时,没有识别到paimon 然后07分 08分截图成功 再截图就是同一帧 永远停留在同一帧

ummm调试工具的截图保存到哪里了

同目录

251 截图失败 那是不是就没有输出

对 我报251也没有输出 然后多截几张又成功了

我2 9交替执行 一直没成功

xytoki commented 1 year ago

草,我自己试了一下,得先按3再按9才能截到图,吐血

HuanLinOTO commented 1 year ago

草 截图成功了 Capture 但是全透明

HuanLinOTO commented 1 year ago

草,我自己试了一下,得先按3再按9才能截到图,吐血

3不是获取坐标角度么

xytoki commented 1 year ago

我大概找到22H2影响截图的设置了,关掉“窗口化游戏优化”试试?我自己机子一开这个就抓不到图,关掉就可以,你们试试

Snipaste_2022-12-29_20-23-07

微软文档(机翻): https://support.microsoft.com/zh-cn/windows/windows-11%E4%B8%AD%E7%AA%97%E5%8F%A3%E5%8C%96%E6%B8%B8%E6%88%8F%E7%9A%84%E4%BC%98%E5%8C%96-3f006843-2c7e-4ed0-9a5e-f9389e535952

HuanLinOTO commented 1 year ago

我大概找到22H2影响截图的设置了,关掉“窗口化游戏优化”试试?我自己机子一开这个就抓不到图,关掉就可以,你们试试

Snipaste_2022-12-29_20-23-07

微软文档(机翻): https://support.microsoft.com/zh-cn/windows/windows-11%E4%B8%AD%E7%AA%97%E5%8F%A3%E5%8C%96%E6%B8%B8%E6%88%8F%E7%9A%84%E4%BC%98%E5%8C%96-3f006843-2c7e-4ed0-9a5e-f9389e535952

image 我咋没()

xytoki commented 1 year ago

草,我自己试了一下,得先按3再按9才能截到图,吐血

3不是获取坐标角度么

这调试器调用函数的时候不会执行init,只按9连句柄都没拿到... 按3是强制跑一下init

HuanLinOTO commented 1 year ago

草,我自己试了一下,得先按3再按9才能截到图,吐血

3不是获取坐标角度么

这调试器调用函数的时候不会执行init,只按9连句柄都没拿到... 按3是强制跑一下init

草 有无可能是nvidia experience的问题(

HuanLinOTO commented 1 year ago

我截图成功了 image 但是这为什么中间有陀透明的

xytoki commented 1 year ago

我截图成功了 image 但是这为什么中间有陀透明的

估计是哪里把RGB通道写到A通道去了,这个理论上不影响才对?其他部分的颜色都是正常的

HuanLinOTO commented 1 year ago

我截图成功了 image 但是这为什么中间有陀透明的

估计是哪里把RGB通道写到A通道去了,这个理论上不影响才对?其他部分的颜色都是正常的

ummm不知道 我调试工具运行了3之后退出了。。。

xytoki commented 1 year ago

如果确实是截不到图,但是obs的bitblt又可以,可能就得去找一下bitblt的参数一致性问题了

HuanLinOTO commented 1 year ago

如果确实是截不到图,但是obs的bitblt又可以,可能就得去找一下bitblt的参数一致性问题了

我现在又没法截图了 有两种情况

  1. 3完之后闪退
  2. 3完接2接9 报251
xytoki commented 1 year ago

2-3-9呢

sylar605 commented 1 year ago

草,我自己试了一下,得先按3再按9才能截到图,吐血

3不是获取坐标角度么

这调试器调用函数的时候不会执行init,只按9连句柄都没拿到... 按3是强制跑一下init

草 有无可能是nvidia experience的问题(

草不可能 这玩意我就没装过

HuanLinOTO commented 1 year ago

2-3-9呢

251

xytoki commented 1 year ago

Snipaste_2022-12-29_20-39-12

OBS测试:开启“窗口化游戏优化”后,OBS也只能抓到一帧

HuanLinOTO commented 1 year ago

Snipaste_2022-12-29_20-39-12

OBS测试:开启“窗口化游戏优化”后,OBS也只能抓到一帧

坏了 我也出现只能抓到一帧的情况了

sylar605 commented 1 year ago

草还真是 那破案了

HuanLinOTO commented 1 year ago

草还真是 那破案了

等等 我21h2也出现这个情况 压根就没这个设置选项=-=

xytoki commented 1 year ago

HKEY_CURRENT_USER\Software\Microsoft\DirectX\GraphicsSettings Snipaste_2022-12-29_20-44-29 HKEY_CURRENT_USER\Software\Microsoft\DirectX\UserGpuPreferences Snipaste_2022-12-29_20-45-08

这是那个设置对应的注册表