在绘制 ui 时,我们可以有很多个 node,而不仅仅是一个 node。例如,bg 是一个 node, hud 也是一个 node。每个 node 都需要通过调用 calc 方法来更新结构。因此当整个界面的不同部位更新频率不同时,我们可以将其分开成多个 node,单独 calc 其变更,避免每帧都需要对整个 ui 重新计算,减轻压力。另外一个 node 中的 id 都是唯一的,而在多个 node 中 id 是可以重复的。这个 id 只是 yoga 用来计算使用,或者我们可以通过 id 来获取和设置 yoga 中的布局信息。这是我一开始误解的一点。我使用 soluna 编写一个 todo app 时,将整个页面都描绘成一个固定的 node ,结果在更新、计算时,遇到了动态添加的困难。
当我静下心来仔细阅读 deepfuture 代码时,发现了这一点。
 
 
Back to Top