当组件首次执行、读取某个信号的值时,Solid 会记录"当前这个计算/绑定依赖了哪些信号",建立起信号与消费者之间的依赖关系图。
当信号的值发生变化时,框架沿着依赖图找到所有直接依赖该信号的消费者,并只更新这些消费者对应的精确 DOM 节点,不会触碰任何无关节点。
由于 JSX 在编译期已被转换为真实的 DOM 创建与绑定代码,更新时框架直接对目标 DOM 节点进行写入,不存在"构建虚拟 DOM 树 → 差异比对 → 应用补丁"的中间过程,因此更新路径更短、开销更低。
Solid 会对同一轮内的多次信号写入进行批处理,合并为一次更新调度,避免频繁的微更新造成的性能损耗。在 Solid 2.0 中,更新采用微任务(microtask)级别的确定性批处理,读取在批处理刷新前不会更新。