Retained Mode vs Immediate Mode

Retained Mode

Retained Mode는 화면이 바뀔 때 상태 값을 객체에 저장하고 시스템이 그리는 방식입니다.

Direct 2D나 React는 이러한 방식을 통해 UI나 Scene을 수정하고 있습니다.

이 방식을 사용하면 개발자는 그리는 과정에 쓰는 에너지를 줄일 수 있습니다.

그림을 그릴 때 데이터 값을 전달만 하면 수정이 되는 방식이기 때문에 직접 그리는 함수를 호출하여

일일히 순차적으로 넣어주지 않아도 되는 장점이 있지만, 커스텀에 제약이 따릅니다.

Immediate Mode

Immediate Mode는 화면을 그릴 때 개발자가 직접 그리는 방식입니다.

Html의 Canvas나 Windows API의 직접 선을 긋거나 그림을 그리는 것이 이 방식입니다.

아주 세밀하게 그림을 그리는 것이 가능하며, 객체로 관리하는 과정이 없기 때문에 더 빠릅니다.

다만 그리는 과정을 직접 관리해야 하기 때문에, 개발 비용이 추가되며, 코드가 직관적이지 않습니다.

Retained Mode와 Immediate Mode의 큰 차이는 이 객체를 시스템이나 라이브러리가 담당하는 지,

아니면 프로그램(개발자)이 직접 담당하는 지의 차이입니다.

** 참고 (AI 참고)

https://learn.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-drawing-a-line-use