.NET 6 WinForms 차트 컨트롤 성능 메트릭 > 시티즌 인사이트

본문 바로가기

시티즌 커뮤니티

시티즌 인사이트

IT&개발 정보 .NET 6 WinForms 차트 컨트롤 성능 메트릭

페이지 정보

작성자 GrapeCity 작성일 22-04-15 11:55 조회 241회 댓글 0건

본문


2021년 말에 .NET 6이 출시된 후 .NET 에코시스템의 발전에 커다란 전환점이 되었습니다. 다양한 개선점 중에서도 .NET 6는 성능의 엄청난 향상을 자랑합니다.


우리는 이미 데이터 그리드 컴포넌트 즉, WPF Datagrid 성능WinForms용 FlexGrid에 대한 성능 연구 결과를 발표했습니다.


물론 차트 컴포넌트가 새로운 플랫폼에서 얼마나 빠르게 성능을 발휘할지 확인하는 것도 흥미롭습니다. FlexChart는 데이터 바인딩, 데이터 처리, 그래픽 출력 등 다양한 작업을 수반하는 복잡한 컨트롤입니다.



테스트 및 측정: WinForms 차트 컨트롤


우리에게는 몇 년 전에 만들어진 성능 테스트 세트가 있습니다. 벤치마크 응용 프로그램이 .NET 6에 이식되었으며 .NET 4.5.5에서와 거의 동일한 소스 코드를 갖고 있습니다.


가장 중요한 특징은 데이터에서 차트를 얻을 수 속도입니다. 벤치마크에서는 공통된 기본 연산 세트를 포함한 차트 생성의 총 시간을 측정합니다.


  • 차트 만들기

  • 폼에 차트 추가

  • 차트 데이터 설정

  • 차트 유형 설정

  • Refresh() 메서드를 사용하여 차트 다시 표시


경과된 시간은 시스템 스톱워치 타이머를 사용하여 측정했습니다.


벤치마크를 위해 가장 유용한 차트 유형인 세로 막대형, 꺽은선형, 분산형, LineSymbols, 영역형을 선택했습니다. 적분 결과에는 모든 차트 유형에 대한 렌더링 합계가 포함됩니다. 데이터 포인트 수는 데이터 크기에 따른 성능 확인을 위해 100~30,000개 사이입니다.


벤치마크 응용 프로그램은 테스트 시점에서 가장 최신의 안정적인 WinForms FlexChart 버전(.NET 4.5.5의 경우 4.5.20213.532 및 .NET 6의 경우 6.0.20213.532의 NPM 패키지)을 사용하여 빌드되었습니다. 기본값(GDI+) 및 고성능 DirectX(Direct2D) 등 지원되는 렌더링 모드를 모두 사용하여 테스트를 실행합니다.


환경: 테스트는 데스크톱 PC에서 수행되었습니다.

  • CPU: i5-4590 CPU

  • GPU: 통합

  • RAM: 16.0 GB RAM

  • OS: Windows 10 Pro 21H1 19043.1526,

  • .NET Runtime: ‘클래식’ .NET 버전 4.8.04084 및 최신 버전 .NET 6.02.


각 테스트를 100회 실행한 후 평균 시간과 분포를 계산하여 결과의 신뢰성 및 재현성을 확인합니다. 테스트 결과는 몇 퍼센트 정도의 분산만 포함된 우수한 품질을 보여줍니다.



결과


가장 흥미로운 부분인 결과를 살펴보겠습니다. 다음 차트는 총 시간(모든 차트 유형을 렌더링하기 위한 시간 합계)을 보여줍니다.


WinForms 차트 제어 성능


보다시피 .NET 6은 모든 차트 유형 및 렌더링 모드에서 더 빠르게 작동합니다. 더욱 명확한 표시를 위해 다음 차트에서는 성능 개선만 나타낼 수 있습니다.


WinForms 차트 제어 성능


구체적인 차트 유형을 살펴보겠습니다. 가장 흥미로운 사례는 분산형 차트로, 기본 렌더링 모드에서 17~38%, DirectX 모드에서 36~57%의 최대 성능 향상을 보여줍니다.


WinForms 차트 제어 성능


.NET 6의 기본 렌더링 성능이 .NET 4.5.5의 DirectX만큼 빨라졌다는 것은 정말 놀라운 일입니다. 이것이 가능했던 것은 다수의 작은 그래픽 개체를 생성하는 분산형 차트에서 특히 유용한 .NET의 최적화 세트 덕분입니다.



결론


.NET 6은 실제로 .NET 4.5.5보다 더 빠릅니다. 이는 .NET 6으로 전환해야 할 중요한 이유가 될 수 있습니다. FlexChart의 경우에는 15~20%의 성능 향상을 거의 무료로 얻게 됩니다. 세부 정보를 확인하면서 “새로워진” .NET에서 코드의 어떤 부분이 구체적으로 개선되었으며 그것이 특별한 연구 주제가 될 수 있는지에 대해 알아보는 것도 흥미로운 일일 것입니다.


첨부 파일





지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!

c1.png

 
  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

그레이프시티 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
그레이프시티 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@grapecity.com | 전화 : 1670-0583 | 경기도 안양시 동안구 시민대로 230, B-703(관양동, 아크로타워) 그레이프시티(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 Copyright ⓒ 2022 GrapeCity inc.