news 2026/10/17 2:45:34

脚本的效率探索和踩坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
脚本的效率探索和踩坑

常见脚本编写使用中效率很慢执行效率也不理想。萌生了自己打造一套的想法。执行效率问题因为是基于解释的和内置功能优化不足导致的。编写效率是还不够方便快捷。
先说执行效率问题那就把脚本编译成二进制可执行程序,把脚本语言翻译成编程语言在编译自然可解决。现在GPU执行单元已经足够常见现象就是CPU接近满载而GPU使用率50%浮动。那就把计算量大的常用功能交给GPU处理计算量大常用的我解除的是图色处理。如果遇到GPU满载CPU不足呢那就使用CPU处理兜底(因为调度问题要先查询CPU使用率和GPU使用率结果发现这个开销挺大CPU处理图色 GPU处理图色功能有了没有好的解决办法目前统一走的GPU),在处理的过程中发现GPU并发能力处理图色是CPU的几十倍的效率提升多点找色在1920*1080下最低两毫秒最高5毫秒是真好用但也踩了一个坑GPU初始化管线排队竟然有上限,解决方案就是通过服务代理解决。
对于脚本编写效率的处理所见即所得能录制键盘鼠标操作为什么不能录制直接生成的多点找色可用脚本代码。通过预置做函数目录和例子检索注释实现对例子的搜索
函数目录格式如下:
KW: 关闭 窗口 异步 结束
DESC: 异步关闭窗口(不卡脚本)
SIG: ColorAbout.CloseWindowAsync(hwnd As Integer) As Boolean
CODE:
ColorAbout.CloseWindowAsync(h)

KW: 目标 句柄 当前 默认 窗口
DESC: 脚本默认目标窗口句柄
SIG: ColorAbout.TargetHwnd As Integer
CODE:
Dim h As Integer = ColorAbout.TargetHwnd

KW: 找色 多点 自动 智能 分流 GPU CPU
DESC: 多点找色-自动选GPU/CPU(推荐)
SIG: ColorAbout.CFindMultiColorGPU2(x1,y1,x2,y2, 首色, 偏移, sim, fx, fy) As Boolean
CODE:
Dim fx As Long, fy As Long
If ColorAbout.CFindMultiColorGPU2(0, 0, 1919, 1079, “000000”, “2|0|000000,-1|1|000000”, 1.0, fx, fy) Then
ColorAbout.PrintLog("命中 " & fx & “,” & fy)
End If

KW: 找色 单色 GPU 后台 快
DESC: 单色找色-GPU通道
SIG: ColorAbout.CFindColorGPU(x1,y1,x2,y2, color, sim, fx, fy) As Boolean
CODE:
Dim fx As Long, fy As Long
If ColorAbout.CFindColorGPU(0, 0, 1919, 1079, “FF0000”, 0.9, fx, fy) Then
ColorAbout.PrintLog("命中 " & fx & “,” & fy)
End If

智能分流不满意调度的时候插叙消耗资源有点大暂时给屏蔽了 ColorAbout.CFindMultiColorGPU2
踏过无数小坑后最终实现了脚本的二进制编译图色处理功提速优化和所见即所得编程。脚本编译二进制就是一个翻译问题预先用编程语言编写好所有要用到的函数,编译之前扫描翻译成常见编程语言补头尾然后编译就是了。
下面就是语言的选择 底层操作C语言优势还是很明显GPU服务这方面用C语言,脚本编译问题总不能每个机器上都布置上编译环境吧。现在主流是WIN10自带.NET,那就用它编译。界面用我习惯的VB6处理。成果截图极其丑陋但是能用。
这个 功能多点选取根据相似度 一键选取 生成的脚本 立刻编译测试通过则写入文件,编译测试未通过就提示。节省了抠图这个速度极慢的活.

1标注的就是脚本能编译成可执行二进制的关键部分。可以认为是脚本翻译成编程语言的核心功能。2脚本编辑注释写上窗口。旁边自动出现关于窗口的脚本功能直接复制自己感觉方便一些加快脚本编辑的 速度。
优化效果跑13个模拟器 无限循环脚本间隔50毫秒多点找色点阵是不存在的 这样就必须遍历完整个设定区域电源模式高性能脚本如下
Dim tStep1 As Long = Environment.TickCount

do
Dim fx As Long, fy As Long
If ColorAbout.CFindMultiColorGPU(20, 46, 399, 224, “038409”, “2|0|00C300,3|0|00C200,4|0|00E800,5|0|00C200,7|0|00A300,2|1|00B502,3|1|00BF00,4|1|00BC00,7|1|00A300,-2|2|008600,1|2|028205,3|2|00A100,4|2|01C101,5|2|01AD02,7|2|00A300”, 1, fx, fy, ColorAbout.TargetHwnd) Then
SafeClick(31,50)'选完成任务
exit do
Else
’ 未找到
End If
ColorAbout.BgSleep(50)
ColorAbout.SetCurFunc(" Step " & Environment.TickCount - tStep1)
If Environment.TickCount - tStep1 >= 60000 Then
tStep1 = Environment.TickCount
End If
loop
脚本无运行情况下 CPU GPU使用情况![在这里插入图片描述]
13个脚本同时运行CPU GPU使用情况 15% 49%

13个并发CPU2%的增幅 GPU2-3个百分点的增加。17% GPU稳定在51%

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 2:45:34

从诊断 42 分到 86 分:弘合星耀服务一家建材厂的 90 天全程复盘

先说结论这是一个把弘合星耀完整服务流程走完一遍的项目。从免费诊断、定制方案、签约启动,到九大智能体执行、每周周报复盘,90 天,客户在"弘合星耀 GEO 健康度诊断"里的评分从42 分提升到86 分;全网收录从不足 3 万条增…

作者头像 李华
网站建设 2026/10/17 2:45:10

【Matlab】无人机集群通信延迟补偿控制实现

【Matlab】无人机集群通信延迟补偿控制实现 引言 无人机集群依靠机间通信实现信息共享与协同控制,集群中各无人机通过通信网络交换位置、速度与状态信息。然而实际通信链路存在传输延迟,延迟使无人机获得的是对方过去时刻的状态,导致控制信息过时,可能引起集群运动失稳、…

作者头像 李华
网站建设 2026/10/17 2:44:14

AI时代小白程序员如何突破求职瓶颈,抢占大模型红利?

文章指出,AI技术正在改变职场招聘环境,尤其是对刚毕业的小白和程序员。AI能自动化完成许多初级任务,导致入门级岗位需求减少,同时对求职者的能力要求更高,需要具备AI协同能力、业务判断力和创造力。文章建议年轻人应减…

作者头像 李华
网站建设 2026/10/17 2:44:03

一个尾点改写配置:Copilot 远程代码执行漏洞复盘

一个尾点改写配置:Copilot 远程代码执行漏洞复盘原文:Embrace The Red - 《Visual Studio Copilot and SSMS Remote Code Execution (CVE-2026-103572)》(https://embracethered.com/blog/posts/2026/visual-studio-copilot-remote-code-exec…

作者头像 李华
网站建设 2026/10/17 2:43:51

小白程序员入门大模型,这些 Agent 开发关键词你必须知道!

本文介绍了 AI 大模型应用开发的关键技术,包括 AI Agent 的核心要素(任务规划、记忆机制等)、RAG 技术的要点(Chunking、向量检索等)、AI 编程工具(Vibe Coding、GitHub Copilot)以及 Agent 框架…

作者头像 李华