방구석지니의 계좌현황을 DataGridView에 표시하고 있다. 60종목이 되다 보니 화면 전환 할 때마다 60종목이 다시 DataGridView에 그려지는 것이 항상 눈에 거슬려 왔다.
Double Buffering 이라는 기법이 있는데 위와 같이 표를 하나씩 그리지 말고 메모리에 다 그린 다음에 한번에 표시함으로써 화면의 버벅임을 방지하는 기술이다. 옛날 OpenGL로 도면 그리는 프로그램 만들때 사용해 봤었는데 DataGridView에도 적용이 되는 것을 이번에 구글링 하면서 알았다.
위 블로그에 원본 코드가 있는데 방구석지니에 적용하니 OpenAPI 쪽에서 에러가 나서 바로 사용할 수 없어 아래와 같이 코드를 수정해서 적용하였다.
위와 같이 함수를 하나 만들고, 적용하려는 DataGrideView 컨트롤을 지정해주면 된다.
DataGridView는 Double Buffering이 적용되서 속도가 빠르게 개선되었으나 다른 UI 컨트롤들은 여전히 순자척으로 그려지는게 보인다. 이것도 개선하고 싶으나... 다음 기회에...
댓글 없음:
댓글 쓰기