RSS
 


C# Graphics의 Performance 향상법

2013. 11. 14. 14:29

C# .NET에서는 그래픽처리를 위해서 Graphics 클래스를 제공한다.


일반적으로 OnPaint를 override 하여 처리할 내용들을 구현하다.


그리고 잘 그려진다. 하지만 컨트롤이 리사이징 되면서 깜빡이거나 잔상이 남는 경우가 생긴다.


이유는 계속 지우고 새로 그리는 작업을 하기 때문이다.


이를 개선하기 위해 더블버퍼링을 이용하여 개선하는 방법이 있다.


.Net에서는 직접 구현할 필요 없이 간단히 해결 할 수 있다.


컨트롤의 생성자 안에서 다음과 같이 3줄을 추가해준다.


base.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);

base.SetStyle(ControlStyles.AllPaintingInWmPaint, true);

base.SetStyle(ControlStyles.ResizeRedraw, true);



 
0 Comments 1 Tracbacks

이 글이 속한 카테고리는 Windows/c#.net 입니다.