IT&개발 정보 .NET 6 WinForms 차트 컨트롤 성능 메트릭
페이지 정보
작성자 GrapeCity 작성일 2022-04-15 11:55 조회 2,825회 댓글 0건본문
관련링크
2021년 말에 이 출시된 후 .NET 에코시스템의 발전에 커다란 전환점이 되었습니다. 다양한 개선점 중에서도 .NET 6는 성능의 엄청난 향상을 자랑합니다.
우리는 이미 데이터 그리드 컴포넌트 즉, 및 에 대한 성능 연구 결과를 발표했습니다.
물론 차트 컴포넌트가 새로운 플랫폼에서 얼마나 빠르게 성능을 발휘할지 확인하는 것도 흥미롭습니다. 는 데이터 바인딩, 데이터 처리, 그래픽 출력 등 다양한 작업을 수반하는 복잡한 컨트롤입니다.
테스트 및 측정: WinForms 차트 컨트롤
우리에게는 몇 년 전에 만들어진 성능 테스트 세트가 있습니다. 벤치마크 응용 프로그램이 .NET 6에 이식되었으며 .NET 4.5.5에서와 거의 동일한 소스 코드를 갖고 있습니다.
가장 중요한 특징은 데이터에서 차트를 얻을 수 속도입니다. 벤치마크에서는 공통된 기본 연산 세트를 포함한 차트 생성의 총 시간을 측정합니다.
차트 만들기
폼에 차트 추가
차트 데이터 설정
차트 유형 설정
Refresh() 메서드를 사용하여 차트 다시 표시
경과된 시간은 시스템 타이머를 사용하여 측정했습니다.
벤치마크를 위해 가장 유용한 차트 유형인 세로 막대형, 꺽은선형, 분산형, LineSymbols, 영역형을 선택했습니다. 적분 결과에는 모든 차트 유형에 대한 렌더링 합계가 포함됩니다. 데이터 포인트 수는 데이터 크기에 따른 성능 확인을 위해 100~30,000개 사이입니다.
벤치마크 응용 프로그램은 테스트 시점에서 가장 최신의 안정적인 WinForms 버전(.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회 실행한 후 평균 시간과 분포를 계산하여 결과의 신뢰성 및 재현성을 확인합니다. 테스트 결과는 몇 퍼센트 정도의 분산만 포함된 우수한 품질을 보여줍니다.
결과
가장 흥미로운 부분인 결과를 살펴보겠습니다. 다음 차트는 총 시간(모든 차트 유형을 렌더링하기 위한 시간 합계)을 보여줍니다.
보다시피 .NET 6은 모든 차트 유형 및 렌더링 모드에서 더 빠르게 작동합니다. 더욱 명확한 표시를 위해 다음 차트에서는 성능 개선만 나타낼 수 있습니다.
구체적인 차트 유형을 살펴보겠습니다. 가장 흥미로운 사례는 분산형 차트로, 기본 렌더링 모드에서 17~38%, DirectX 모드에서 36~57%의 최대 성능 향상을 보여줍니다.
.NET 6의 기본 렌더링 성능이 .NET 4.5.5의 DirectX만큼 빨라졌다는 것은 정말 놀라운 일입니다. 이것이 가능했던 것은 다수의 작은 그래픽 개체를 생성하는 분산형 차트에서 특히 유용한 .NET의 최적화 세트 덕분입니다.
결론
첨부 파일
지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!
댓글목록
등록된 댓글이 없습니다.