请教:需要让里面的两个子程序同时运行,该怎么操作

动作开发 · 580 次浏览
航幽冥 创建于 2024-03-02 11:32

动作地址:https://getquicker.net/Sharedaction?code=f1497ae9-09f1-4b9a-ec74-08dc3811d02e

日志:https://temp.getquicker.net/819858/6aaa69409e2e405b93d163f97fe4151e.html

 

里面的子程序是识图的操作,每张图片对应一套流程,这样可以在出现不同图片时,触发对应的操作

但是我发现随着子程序越来越多,就会出现延迟问题,因为是把所有子程序都按顺序跑了一遍

已经尝试过套步骤组,开多线程,无效,还有把子程序写在单独的动作里,用a动作运行b动作和c动作,开多线程,里面的等待运行结束也关掉了,都无效

之前有个大佬说什么异步,但是也没说全,我本人是做视频的,不懂代码

求个解决方案:让这些子程序,同时运行,不等待

航幽冥 最后更新于 2024/3/2

回复内容
CL 2024-03-02 12:33
#1

步骤组支持多线程选项可以试试。 不过通常情况下应避免使用多线程。

航幽冥 回复 CL 2024-03-02 13:10 :

早试过了,不太行,有没有可能用赋值写个代码解决,之前有个大佬是这么说的,可是没说明白

CL 回复 航幽冥 2024-03-02 13:52 :

https://getquicker.net/KC/Kb/Article/1121 参考这里补充详细信息后再继续了。不然别人费半天劲,提供的都是你试过的方案,就显得有点傻了。

航幽冥 回复 CL 2024-03-02 14:11 :

已补充

之乎者也吧 2024-03-02 12:47
#2

可以考虑通过把子程序变成动作,在到动作内通过这个步骤运行两个子程序转的动作,取消勾选等待运行结束就可以不等待一个结束直接启动另一个动作来实现同时运行了

航幽冥 回复 之乎者也吧 2024-03-02 13:11 :

也试过了,同样有延迟

之乎者也吧 回复 航幽冥 2024-03-02 13:15 :

当然有延迟,代码运行是不存在同时的概念的,quicker也不适合搞异步,需要优化下代码了

CL 2024-03-02 14:15
#3

如果是因为执行了不必要的子程序导致了过长的延迟,可以尝试在最开始使用找图的时候,把所有要找的几个图片都放上,根据找图结果的序号,确定是哪张图片,再执行对应的子程序。这样的目的是避免执行不必要的步骤。

航幽冥 回复 CL 2024-03-02 14:21 :

序号目前还真没用过,就是位图路径那一栏,第一行路径对应序号0,第二行对应1,以此类推是吧

CL 回复 航幽冥 2024-03-02 14:24 :


航幽冥 回复 CL 2024-03-02 14:41 :

输出序号之后呢,怎么和子程序产生关系,可否写个示例😂

航幽冥 回复 航幽冥 2024-03-02 14:43 :

是用如果吗,如果0则、如果1则、这样?

CL 回复 航幽冥 2024-03-02 14:43 :

得到序号之后就用“如果”模块判断。 例如,如果 $= {序号} == 0,里面就执行第一个图片出现的时候要执行的步骤。 你说的子程序不是很了解是啥目的。

航幽冥 回复 CL 2024-03-02 14:48 :

因为之前有位大佬说用什么异步解决,https://getquicker.net/subprogram?id=5b6b9f2c-3f52-499f-1c9c-08db8790d489&version=0,这是他写的,,,我本来写的是步骤组,按他所说转为子程序而已

航幽冥 回复 CL 2024-03-02 14:56 :

没毛病,解决了,感谢C兄

航幽冥 回复 CL 2024-03-02 17:09 :

实测,如果查找的图片过多时,即使用序号,还是会卡顿,这个怎么破

航幽冥 回复 CL 2024-03-02 17:23 :

异异步说是这么操作,这个怎么实现,或者说,能实现吗

CL 回复 航幽冥 2024-03-02 19:22 :

找图是一个耗CPU的步骤,要一个像素一个像素对比,如果多了肯定需要一些时间的。

有过丶且多 2024-03-03 15:21
#4

大概看了你的动作,有这时间不如学一下ae脚本,Quicker可以直接运行的,你现在的操作有点炮打苍蝇的感觉

回复主贴