본문 바로가기

Study Memos/WPF

(7)
#6. Flow-Based Layout WPF는 Flow-Based Layout 이다.
#5. WPF의 Vector WPF는 Bitmap 대신 Vector를 쓴다. 즉, 모든 픽셀을 찍는 게 아니라 graphical primitives (lines, shapes, polygons) 로 그린다. 그래서 output 장치의 pixel density에 관계없이 drawing이 가능하다.
#2. Rendering Tier WPF앱은 그래픽 카드 성능을 살펴보고 이에 따라 Rendering Tier를 매긴다. Rendering Tier에 따라 하드웨어 가속을 할지 말지 결정한다.
#1-3. 하드웨어 가속 하드웨어 가속 ? -> Graphics Layer 단위로 렌더링된 이미지를 GPU를 이용해 한 장의 이미지로 합성(Composition)해서 화면에 출력하는 기술. (웹 브라우저는 HTML -> DOM 트리 -> Render Object (화면에 표현되는 요소) -> Render Layer -> Graphics Layer (GPU에 업로드되는 요소) 순으로 소스를 변환한 후 화면에 뿌려줌) CPU vs GPU ? CPU -> 직렬(순차) 처리 GPU -> 병렬 처리 참고 블로그 -> https://light-tree.tistory.com/25
#1-2. WinForms vs WPF WinForms -> 버튼 하나하나, label 하나하나가 모두 Windows 운영체제에서 개별적으로 관리하는 Window 객체 WPF -> 최상위 창 하나만 Windows 운영체제에서 관리하는 Window 객체. 버튼이나 label은 Windows 운영체제에서 모름. WPF 앱이 내부에서 자체적으로 그린 것. 사용자들의 눈높이가 올라감에 따라 기본 기능만 지원되던 WIndows Form은 개발이 어려워짐. 그래서 Win32 API에 대한 의존성을 획기적으로 줄인 (자체 Drawing 이니까) WPF가 탄생하게 됨.
#1-1. WPF WPF 앱은 Windows 플랫폼 또는 Web 브라우저에서 실행될 수 있따. WPF는 스크린 조건에 관계없이 3D vector-based graphic으로 렌더링한다. (하드웨어 가속의 이점을 이용학 위해 WPF는 렌더링 시 DirectX를 쓴다. 하드웨어 가속이 불가한 경우 WPF는 소프트웨어를 이용하여 렌더링한다.)
#Intro 이 폴더는 https://csharp.2000things.com/ 을 읽고 난 후 개인적으로 알게 된 내용들을 남기는 공간입니다.