2011-03-14 4 views
0

나는 빠른 데이터 새로 고침의 적당한 양을 처리하고 데이터 그리드에 표시하는 응용 프로그램을 작성하는 데 문제를 구축 할 필요가있다. 현재 우리는 Telerik radgridview winforms 컨트롤을 사용하고 있습니다. 새로 고침 성능은 꽤 좋았습니다. 열 중 하나가 정렬 될 때까지 상황이 완전히 잠기고 응용 프로그램은 거의 사용할 수 없게됩니다. 200 개 항목 이하의 많은 데이터를 표시 할 필요는 없습니다. 그러나 매우 빈번하게 업데이트됩니다. 1 초 반마다 업데이트됩니다. 데이터는 읽기 전용이지만 데이터 그리드를 사용하는 것이 더 좋습니다. 왜냐하면 사용자가 어떤 열이 표시되고 어떤 열이 정렬에 사용되는지를 쉽게 선택할 수 있기 때문입니다. 수백 속성 변경에 대한 수백만의 순서에 -는 빠르게 정렬 데이터 그리드 응용 프로그램 (데스크톱 클라이언트)

프로파일 링 정렬 켜면 다시 그립니다 셀의 말도 안되는 수를 만들어 보여줍니다. CPU의 대부분은 그림 셀을 다루는 것으로 가정하는 다양한 GDI 드로잉 메서드에 묶여있는 것처럼 보입니다. 거의 모든 테이블에이 시점에서

, 하드웨어 accelleration을 활용하기 위해 WPF 그리드를 호스팅에서, 또 다른 그리드를 구입합니다. 누구나 이와 같은 응용 프로그램을 만드는 경험이나 조언이 있다면 정말 좋을 것입니다.

답변

0

특정 경험이 없지만 일반적인 질문 : 화면을 다시 그리는 빈도를 제한 할 수 있습니까? 속성이 변경 될 때마다 모든 것을 다시 작성하고 다시 그리는 것처럼 들립니다.

정렬 및 다시 그리기 빈도를 제어 할 수없는 경우 데이터의 복사본 하나를 최신 상태로 유지 한 다음 Telerik 프로그램에서 볼 수있는 사본을 별도로 보유 할 수 있습니다. 그런 다음 고정 간격 (매초마다)으로 Telerik 사본을 업데이트하십시오. 이것은이 프로그램의 작동 방식을 모른 채 모두 가능하지만 실현 가능한 것입니까?

+0

예, 우리는 그 물건이 얼마나 자주 발생하는지 제어 할 수 있습니다 - 지금은 초당 약 두 번으로 설정되어 있습니다. 하지만 불행하게도 행을 변경하면 일반적으로 그리기가됩니다. – Egor

+0

프로그램에서 볼 수있는 데이터와 별도로 데이터를 유지 관리하고 다시 그 사이에 복사하면 도움이 될까요? 아니면 그렇게 할 수 없습니까/유용합니까? – usul

+0

그건 실제로 Telerik의 가상 모드를 사용하여 어떻게 처리했는지입니다. – Egor

관련 문제