From 60b472623b57800371febf2d65011b9507d8a225 Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Sep 2021 22:34:02 +0800 Subject: [PATCH] =?UTF-8?q?perf.=E4=BC=98=E5=8C=96=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=B8=AD=EF=BC=8C=E9=A6=96=E4=B8=AA=E5=B0=B1?= =?UTF-8?q?=E6=98=AFJustReturn=E7=9A=84=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=BF=9B=E8=A1=8C=E6=88=AA=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistance/ProcessTask.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/MeoAssistance/ProcessTask.cpp b/src/MeoAssistance/ProcessTask.cpp index 475e35871d..ef7a8114f9 100644 --- a/src/MeoAssistance/ProcessTask.cpp +++ b/src/MeoAssistance/ProcessTask.cpp @@ -133,10 +133,23 @@ bool ProcessTask::run() std::shared_ptr ProcessTask::match_image(Rect* matched_rect) { - const cv::Mat& cur_image = m_controller_ptr->get_image(); - if (cur_image.empty()) { - m_callback(AsstMsg::ImageIsEmpty, json::value(), m_callback_arg); - return nullptr; + // 如果第一个任务就是JustReturn的,那就没必要截图了(截图还挺费时间的) + // 直接处理下然后返回 + bool is_front_return = false; + if (m_cur_tasks_name.size() >= 1) { + auto front_ptr = TaskConfiger::get_instance().m_all_tasks_info[m_cur_tasks_name.front()]; + if (front_ptr != nullptr + && front_ptr->algorithm == AlgorithmType::JustReturn) { + is_front_return = true; + } + } + cv::Mat cur_image; + if (!is_front_return) { + cur_image = m_controller_ptr->get_image(); + if (cur_image.empty()) { + m_callback(AsstMsg::ImageIsEmpty, json::value(), m_callback_arg); + return nullptr; + } } std::unordered_set