mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 17:57:01 +08:00
perf: 加速 tasks.json 的读取
之前每个 tasks.json 文件读取的时候都会 expend 一遍(很耗时间) 现在在 parse 的时候不 expend, 而是等到一个任务被第一次 get 的时候才 expend. (不知道会不会出问题,大家测测)
This commit is contained in:
@@ -140,10 +140,13 @@ bool asst::TaskData::parse(const json::value& json)
|
||||
generate_task_and_its_base(name);
|
||||
}
|
||||
|
||||
// 延迟生成,等到一个任务被第一次 get 的时候才生成
|
||||
/*
|
||||
// 生成 # 型任务
|
||||
for (const auto& [name, old_task] : m_raw_all_tasks_info) {
|
||||
expend_task(name, old_task);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
#ifdef ASST_DEBUG
|
||||
@@ -958,20 +961,20 @@ bool asst::TaskData::syntax_check(const std::string& task_name, const json::valu
|
||||
}
|
||||
|
||||
bool validity = true;
|
||||
if (!m_all_tasks_info.contains(task_name)) {
|
||||
if (!m_raw_all_tasks_info.contains(task_name)) {
|
||||
Log.error("TaskData::syntax_check | Task", task_name, "has not been generated.");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取 algorithm
|
||||
auto algorithm = m_all_tasks_info[task_name]->algorithm;
|
||||
auto algorithm = m_raw_all_tasks_info[task_name]->algorithm;
|
||||
if (algorithm == AlgorithmType::Invalid) [[unlikely]] {
|
||||
Log.error(task_name, "has unknown algorithm.");
|
||||
validity = false;
|
||||
}
|
||||
|
||||
// 获取 action
|
||||
auto action = m_all_tasks_info[task_name]->action;
|
||||
auto action = m_raw_all_tasks_info[task_name]->action;
|
||||
if (action == ProcessTaskAction::Invalid) [[unlikely]] {
|
||||
Log.error(task_name, "has unknown action.");
|
||||
validity = false;
|
||||
|
||||
Reference in New Issue
Block a user