按键精灵多线程问题

我用按键精灵9的5个多线程进行同时找色的要求,为的就是让找色的时间缩短为原先的五分之一。但是我调试过后依然没有缩短,不知为何,求高手解决:我写的脚本太长,不方便全贴,把格... 我用按键精灵9的5个多线程进行同时找色的要求,为的就是让找色的时间缩短为原先的五分之一。但是我调试过后依然没有缩短,不知为何,求高手解决:我写的脚本太长,不方便全贴,把格式贴出来.
BeginThread zs1
BeginThread zs2
sub zs1
GetColor = GetPixelColor(x1, y1)
If GetColor = "100100" Then
a = a & "1"
Else
a = a & "0"
End If
end sub
sub zs2
GetColor2 = GetPixelColor(x1+1, y1+1)
If GetColor2 = "100100" Then
b = b & "1"
Else
b = b & "0"
End If
end sub
展开
 我来答
帐号已注销
推荐于2018-03-22 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6449
采纳率:69%
帮助的人:2179万
展开全部
所谓多线程,事实和单线程一个样子,CPU并不可能做到真正的“同时”,本质上,每个核一个时钟所做的事情就是那么多,不管上面程序怎么写,计算机都是按时序执行的(这些牵涉到微机原理以及单片机的东西,要懂底层才能明白,如果纯做应用层,不需要明白,不过,不管怎样写代码,CPU是不可能做到绝对“同时”的,明白这点就行了),想执行时间快,就必须先把数据调入内存,在内存里面完成,结束后才释放内存,这种方法是最快的,但是这样做非常耗内存(具体怎么做按键精灵是无法操作的,这个也不是应用层要做的事情,所以你知道就好,不用理会这个问题)
回到你的问题,为了加快你找色速度,首先尽量缩小你找色的范围,之后,把相似度尽量提高,相似度是1时候最快,但是很容易影响找色结果,这个你自己看着办,建议用大漠插件,大漠插件里面有一个找多色指令,这个指令几毫秒可以完成找多色,比你自己用按键自带插件,写一个函数的方法快多了,本人认为大漠插件能解决你的问题。
赤水云
2015-11-17 · TA获得超过5029个赞
知道大有可为答主
回答量:2362
采纳率:86%
帮助的人:912万
展开全部
因为是按键精灵的多线程问题,说到底是多线程问题,按键精灵是修饰词,多线程问题是主语。
所谓多线程,事实和单线程一个样子,CPU并不可能做到真正的“同时”,本质上,每个核一个时钟所做的事情就是那么多,不管上面程序怎么写,计算机都是按时序执行的,想执行时间快,就必须先把数据调入内存,在内存里面完成,结束后才释放内存,这种方法是最快的,但是这样做非常耗内存。

功能: 多线程
代码:
While true
key = WaitKey()
Delay 20
If key = 36 Then
aa = dm.GetMousePointWindow()
线程ID = BeginThread(任务)
Redim Preserve Id(i)
Redim Preserve Hd(i)
Id(n) = 线程ID
Hd(n) = aa
N = N + 1
Delay 20
End If
If Key = 35 Then //按END键
aa = dm.GetMousePointWindow()
For j = 0 To i-1
If Hd(j) = aa Then
dm = dmD(j)
dm.UnBindWindow()
StopThread Id(j) //停止线程
Exit For
End If
Next
End If
Wend
Sub 任务()
Set dm = createobject("dm.dmsoft")
dm.SetPath ".\plugin\大漠梦想"
i = N
i = i - 1
Redim Preserve dmD(i)
dmD(i) = dm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式