widgetTree
elementTree
renderTree
프레임을 새로 그릴 때 위젯이 변겅되었다고 무조건 render tree의 요소를 아예 새로 갈아끼우는 것이 아니라, element tree가 render tree의 요소를 아예 새로 갈아끼울지 or 기존 요소를 유지하면서 내용만 변경할지 판단한다.
위젯의 key나 runtimeType이 기존 위젯과 같다면 element tree가 render tree의 기존 요소를 유지하면서 내용만 변경하게끔 한다.(canUpdate
)
이런 과정을 통해 3개의 트리구조가 화면을 효율적으로 그릴 수 있는 것이다.
layer tree를 만들어 레이어를 구성한다.
이후 단계는 GPU에서 composition(각 레이어를 하나의 이미지로 합치는 과정)과 레지스터화(이미지를 화면에 표시할 수 있는 픽셀로 변경하는 과정)을 거쳐 화면에 그려지게 된다.