การ render ของ Flutter เกี่ยวข้องกับ สามต้นไม้ (three trees) — Widget tree (configuration), Element tree (widgets ที่ถูก instantiate และจัดการ) และ RenderObject tree (layout และ painting) การเข้าใจ pipeline นี้คลายความลึกลับว่า Flutter เปลี่ยน widgets เป็น pixels อย่างมีประสิทธิภาพได้อย่างไร
สามต้นไม้
WIDGET tree → immutable CONFIGURATION (what you write: the description of the UI)
→ cheap to create/recreate; rebuilt often (build() returns new widgets)
ELEMENT tree → the INSTANTIATED widgets; manages lifecycle and LINKS widgets to render
objects; PERSISTS across rebuilds (this is the key to efficiency)
RENDEROBJECT tree → does the actual LAYOUT, PAINTING, and hit-testing (the heavy objects)
→ expensive; REUSED and updated (not recreated) across rebuilds
