많은 비즈니스 라인 차트가 과학 또는 금융 응용 프로그램에서 요구되는 대규모 데이터 세트를 렌더링 할 수없는 일반적인 문제입니다. 이는 WPF 및 Silverlight와 같은 유지 모드 렌더링 엔진에서 특히 분명합니다. 대부분의 GUI 기술에 적용되지만 화면을 빠르게 업데이트해야하는 경우 속도가 매우 느릴 수 있습니다.
이 요구에 대한 응답으로 SciChart이라는 고성능 WPF/SL 차트 구성 요소를 만들었습니다. SciChart는 초 고성능 과학/주식 차트의 격차를 보완하기 위해 독점적 리샘플링 알고리즘을 사용하여 드로잉, 직접 모드 렌더링 및 개체 풀링 및 리소스 재사용과 같은 다양한 최적화 작업을 수행하기 전에 독점적 리샘플링 알고리즘을 사용하여 데이터 집합을 줄입니다. .
성능 데모를 보려면 SciChart link을 클릭하십시오 (Silverlight 4 - WPF 버전도 필요함). 이 차트는 상호 작용하는 프레임 속도 (하드웨어에 따라 20-50FPS)에서 5 또는 6 자의 포인트 수를 합산 한 여러 시리즈를 그릴 수 있습니다. 이는 초당 약 2 백만 개의 데이터 포인트 (20,000 개의 데이터 포인트에서 100,000 개의 데이터 포인트)와 동일합니다. 상용 라이센스 준비가 완료된 정식 버전은 2012 년 1 월 말 곧 제공 될 예정입니다.
특정 요구 사항에 따라 WPF/SL 렌더링 파이프 라인은 최대 60FPS로 렌더링됩니다 모니터 재생 빈도 이 경우 데이터를 일괄 처리하고 CompositionTarget.Rendering 이벤트의 차트에 추가하는 것이 가장 좋은 방법이 될 것이라고 제안합니다. SciChart는 코드 숨김 또는 MVVM과 호환되는 API를 통해 마지막에 한 번의 렌더링으로 일괄 업데이트를 지원합니다. 결과적으로 차트에 원하는만큼 빠르게 데이터를 푸시 할 수 있지만 WPF/SL이 렌더링 할 수있는 속도로 렌더링됩니다. 30FPS 이상은 인간의 눈으로 사실상 감지 할 수 없습니다.
또 다른 고려 사항은 메모리 풋 프린트와 CPU 및 속도입니다. WPF/SL은 주요 메모리 돼지가 될 수 있으므로 차트 구성 요소를 평가할 때는 신중하게 선택합니다!
UI 프레임 워크의 속도와 데이터를 빠르게 플롯 할 수있는 방법이 확실하지 않은지 ... ...? –
WPF가 그래픽 카드를 가속화하지 않습니까? 초당 몇 개의 플롯을 기대하십니까? –
nCurses : – Oded