WPF 팁

WPF에서 Ellipse 그리기 재선 평점: 없음 조회: 5408

wpf에서 위와 같은 타원(Ellipse)객체 렌더링 과정.

 

우선 전체 영역을 가지고 작업할 필요 없으니 Redraw DirtyRegion을 검정색으로 초기화 한다.

나중에 GPU상에서 합쳐진다. 일단 시각적으로는 아래와 같다.

WPF에 뭔가 작업한다. Vertex Buffer를 생성한 후, dirtyRegion을 아래와 같이 채운다?

타원객체를 CPU상에서 tessellation(GPU렌더링을 위해 삼각형 스프라이트로 변환)한 후 Vertex Buffer에 채운다.

요건 나중에 brush객체에 설정된 컬러값에 따라 pixel shader로 렌더링 된다.

이제 삭제할 Line List를 생성해서 GPU 에 밀어 넣자.

 

이제 Ellipse를 그리면 되나? 아니다. Draw Line List도 물론 생성해서 이것도 GPU에 밀어 넣어야 한다. Ellipse객체는 선 투께도 설정할 수 있지 않은가.

 

이제 Ellipse객체가 그려졌다. 짝짝짝 !!!!

혹 가슴이 답답하거나, 고객사에서 이딴거 갔다 버리라고 한다면...

이제 GDI Object WPF로 변환해서 사용하는 방법에 대해 검색해 보자. -_-

 

멀티터치 센서용 카메라 장치에서 값을 읽어와 실시간으로 그래프를 그리고 설정하는 프로그램을 WPF로 개발 중 한동안의 삽질 끝에 그래프 영역은 GDI로 구현 했네요.

 

세상에나 내 컴퓨터가 이렇게 빠르다니 !!!

인간의 생활을 도와주는 오늘날의 컴퓨터라는 기계는 정말 빠른것 같습니다.

 

참고 [A Critical Deep Dive into the WPF Rendering System]

http://jeremiahmorrill.wordpress.com/2011/02/14/a-critical-deep-dive-into-the-wpf-rendering-system/

 

태그 : Performance wpf
작성자 정보
재선
Level 27
 [EXP.11/50]

메일:  비공개
글등록 +12 502 덧글등록 +3 161
자기소개
속세를 떠난 자
글 공유하기 |
  tweet facebook
2012-06-15 오전 8:02:31
나도한마디
사용자
지송닷넷            [2012-06-15]
Level 99
 [EXP.만랩]
음... ........................................

전 내공이 부족해서 뭘 쓰신건지 감이 안오네요 ㅠㅠ;..

그냥 타원 그리는게 아닌 아닌가봅니다.
사용자
재선            [2012-06-15]
Level 27
 [EXP.11/50]
아구 죄송합니다. 요지는 WPF가 화면에 뭔가를 그릴 땐, 내부적으로 저러한 과정을 거치게 되므로 실시간으로 빠르게 업데이트해야 할 뭔가를 그릴 땐 별도 스레드를 생성해서 GDI를 이용해 비트맵에 그리는게 빠를 수 있다는 내용 입니다. -_-
사용자
지송닷넷            [2012-06-15]
Level 99
 [EXP.만랩]
아 ~... 설명해주셔서 감사합니다.
사용자
엔젤루스            [2012-06-15]
Level 99
 [EXP.만랩]
음...이건 자게에 어울리지 않는 글 같네요...시삽님 옮겨주세요!!
사용자
맨날맑음            [2012-06-15]
Level 74
 [EXP.183/250]
재선님의 글을 WPF TIP 게시판으로 옮겼습니다.
태그로 엮인글
[C#.NET Q&A] WPF 사용하여 Excel Export 관련 질문드립니다.[2]  미야
[자유게시판] "XAML 뽀개기"라는 제목으로 블로그를 운영하고 있습니다~[1]  찰스82
[C#.NET Q&A] C# MEE4 이용해서 화면 녹화를 하려는데 예외가 발생합니다.  LeeMalone
[C#.NET Q&A] Infragistics WPF 버튼[1]+1  saki
[WPF Q&A] Listview 메서드 결과 바인딩  c#
[WPF Q&A] 혹시 WPF에서 무료로 만들수는 candle chart 라이브러리 나 예제 가 있을까요?[1]  우오호호
[WPF Q&A] xaml과 C# 순서관계 이해좀 부탁드려요.[2]+1  자바송장
[WPF Q&A] ViewModel에서 선언한 Event로 View의 특정 ListViewItem을 Focus 하는 방법[1]  자바칩프라푸치노
[WPF Q&A] 두개의 Usercontrol 실 시간 업데이트 시[2]  OnlyM
[WPF Q&A] wpf stlye 관련 질문입니다 ㅠㅠ[3]  아나지마누
글리스트
계산기[3]  sa2랑
WPF 성능관리  sa2랑
[RE] WPF Performance Suite  sa2랑
WPF에서 내부에서 작업한 내용을 UI에 올릴때 Dispatcher 클래스 사용[1]  지유니
VS와 Blend에서 화면구조 보기 파일첨부 깜디
Canvas 의 Preview 기능 구현하기[1] 파일첨부 깊은물
[Command] 하나의 컨트롤에 여러 커맨드를 등록하는 법[1]  깜디
[UX 스터디 자료] WPF 자료[5] 파일첨부 sky
DataView를 이용해서 소팅하는 방법  지유니
ListView를 이용해서 그룹핑, 소팅하는 법  지유니
 ★현재글->   WPF에서 Ellipse 그리기[3]+2  재선
애니메이션 진행 중 마우스의 반응이 안좋습니다.[1]  칼맨
[RE] 애니메이션 진행 중 마우스의 반응이 안좋습니다.[2]+5  Linus
ComboBox에 item 뻘짓하면서 넣기~ 파일첨부 치사대마왕
글자 크기에 맞춰 Control의 크기를 늘리는 방법[2]+1  칼맨
MVVM패턴으로 Navigation을... 파일첨부 강이리
Entity Framework 4.2 June CTP 사용해보기[1]+1  꿀대두
마샬링 쉽게하기..  피스몬
UserControl에서의 다중 상속 문제를 해결 하는 방법 파일첨부 뼈개
Windows Presentation Foundation-Begining  블랙
SNOOP WPF SPY UTILITY  시선