From 45edc2ca63eec741b36760958744b3c8aa290f3a Mon Sep 17 00:00:00 2001 From: zealotchen Date: Fri, 12 Apr 2024 17:56:24 +0800 Subject: [PATCH] feat(dom): avoid get self depth when skip sortByIndex --- dom/src/dom/root_node.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dom/src/dom/root_node.cc b/dom/src/dom/root_node.cc index 79916b296c7..6e737cd9f01 100644 --- a/dom/src/dom/root_node.cc +++ b/dom/src/dom/root_node.cc @@ -142,7 +142,12 @@ void RootNode::CreateDomNodes(std::vector>&& nodes, boo OnDomNodeCreated(node); } for (const auto& node : nodes_to_create) { - node->SetRenderInfo({node->GetId(), node->GetPid(), node->GetSelfIndex(), node->GetSelfDepth()}); + if (needSortByIndex) { + node->SetRenderInfo({node->GetId(), node->GetPid(), node->GetSelfIndex(), node->GetSelfDepth()}); + } else { + // 如果不需要对 index 排序,其他场景目前没有用到 depth,避免冗余计算 + node->SetRenderInfo({node->GetId(), node->GetPid(), node->GetSelfIndex(), -1}); + } } if (needSortByIndex) {