readonly属性竟拖垮Letta性能

Are you telling me a readonly property is wrecking my performance?

3forthwall💬 0

最近我在排查Letta Desktop的性能问题时,发现随着使用频率增加,产品越来越慢。起初我以为是代码里有低效的循环或未优化的逻辑,但深入分析后才发现,问题出在我强制UI滚动到底部的实现方式上。我原本以为`el.scrollTop = el.scrollHeight`这种写法既简单又高效,毕竟scrollHeight看起来是个只读属性,应该只在渲染时更新。然而事实并非如此,每次访问scrollHeight都会触发布局计算,导致大量消息涌入时性能急剧下降。最终我意识到,很多看似静态的readonly属性其实是动态计算的,不能想当然地认为它们性能无忧。我的解决方案是直接用一个大数代替精确计算,既避免了频繁布局,又达到了滚动到底部的效果。

"我原本以为readonly属性总是性能友好,但事实是,很多属性看似静态,实则动态计算,尤其在明显会随事件变化的情况下更需谨慎。"

同日更多故事 · 2026-07-13