WPF에서 차트 그리는 라이브러리!

안녕하세요!

제목과 동일하게 WPF에서 차트를 그리는 라이브러리 여쭈어보고자 글을 올리게 되었습니다.
이미 비슷한 게시물이 있는 것은 알고 있으나, 추천되어진 것은 이미 제 요구사항에서 벗어나서 글을 다시 올리게 되었습니다.

요구 사항:
실시간으로 들어오는 값을 0.5초 이내에 표현가능해야 합니다.
최대 천만개의 데이터를 찍어내더라도 UI에 렉이 없어야 합니다 .
표현되는 UI의 크기변경을 하더라도요
유료버전이여도 상관은 없으나, 구독형식이 아닌 영구라이센스여야 합니다.
OPC-UA 통신으로 데이터를 0.5초당 약 5천개씩 받아들이고, 이 중 차트에 표현되는 것은 가공된 후 0.5초당 10개의 값입니다.

누적된 값 + 실시간 값 까지 포함하여 천만개정도의 값을 처리해야합니다.

제가 사용해본 라이브러리는 livechart와 system.Window.Form.DataVisualization.Charting입니다.

천만개 정도를 찍을려고 하면 livechart는 퍼져버려서 그려내질 못하고, system.Window.From.Datavisualization.Charting은 빠르게 그려내는 편이나. UI반응성이 떨어지는 것을 확인하였습니다.
그 외 무료라이브러리로는 oxychart라고 하던데, 이는 livechart 에 비해서 성능이 떨어진다고 들었습니다.

유료버전인 scichart와 lighteningchart는 구독형식이라서 못하고 있는데요.
이전 게시글엔 scichart에서 구매를 하고나면 라이센스는 영구라이센스라고 하던데, 홈페이지에서 찾아봐도 계약이 끝나고도 사용이 가능하다는 문구는 찾을수가 없었습니다. ㅠ

다른 괜찮은 라이브러리가 있다면 꼭 추천 부탁드리겠습니다.

2 Likes

LighteningChart는 Perpetual 라이센스 옵션이 있네요.
확인해보세요.

1 Like

많은 수의 값을 화면에 무리없이 표시하려면
gpu와 memory 사양 자체가 높아야 큰 무리가 없어보입니다.
값이 들어오는 속도와 그 처리 과정에 따라서 결과는 천차만별이겠지만,
일단 gpu, memory 성능이 따라주어야 좋은 결과가 나올것입니다.

2 Likes

오!! 아래 옵션까진 보진 못했엇네요 !! 감사합니다 ^^!

요구조건이 가능한지 검증이 필요한 것 같습니다.
단순히 계산해봐도 천만개 500ms는 좀…
Drawing with SkiaSharp & OpenGL (swharden.com)

1 Like

답변해주셔서 감사합니다 !

첨부해주신 링크의 내용이 n개의 선을 UIdp 그리는데, 소요되는 시간이라는 말이 맞을까요?