

대부분의 WPF 차트 라이브러리는 정확히 하나의 프레임워크만 지원합니다: WPF. 일부는 WinForms를 추가합니다. 네 경쟁사 중 어느 것도 C++ MFC, Delphi VCL 또는 ActiveX를 지원하지 않습니다. ProEssentials는 아키텍처적으로 다릅니다 — 두 개의 완전한 API 레이어를 가진 네이티브 Win32 DLL 차트 엔진입니다: WPF 및 WinForms를 위한 계층적 .NET 속성 인터페이스와 MFC, Delphi, ActiveX 및 FFI(외부 함수 인터페이스) 기능을 가진 모든 언어를 위한 표준 C/C++ DLL API. 두 API 모두 동일한 렌더링 엔진, 동일한 GPU Compute Shader, 동일한 1,000개 이상의 속성에 접근합니다.
이것이 중요한 이유는 실제 조직이 단일 프레임워크만 사용하지 않기 때문입니다. 방위산업 계약자는 MFC 기반 데이터 수집 소프트웨어, WPF 운영자 대시보드, Delphi 레거시 보고 도구를 보유할 수 있으며 — 모두 동일한 차트 기능이 필요합니다. ProEssentials는 하나의 라이선스, 하나의 문서, 하나의 지원 팀으로 세 가지 모두를 지원합니다. 이 페이지는 플랫폼 지원, 배포 특성, 모든 플랫폼에서 사용 가능한 5개 차트 객체를 비교합니다.
아래 표는 5개 WPF 차트 라이브러리 전체의 프레임워크 지원을 비교합니다. SciChart는 WPF만 지원합니다(여기에 해당하지 않는 별도의 iOS/Android/웹 제품 제외). LightningChart는 WPF와 WinForms를 지원합니다. Syncfusion과 DevExpress는 WPF와 WinForms를 지원하며 DevExpress는 추가로 별도 제품 라인에서 Delphi VCL과 ActiveX를 제공합니다. ProEssentials만이 단일 제품에서 8개 플랫폼 대상을 모두 지원합니다.
| Platform / Framework | ProEssentials | SciChart | LightningChart | Syncfusion | DevExpress |
|---|---|---|---|---|---|
| WPF (.NET) | ✅ | ✅ | ✅ | ✅ | ✅ |
| WinForms (.NET) | ✅ | ❌ | ✅ | ✅ | ✅ |
| C++ MFC / Win32 | ✅ Native DLL API | ❌ | ❌ | ❌ | ❌ |
| Delphi VCL | ✅ Native DLL API | ❌ | ❌ | ❌ | ✅ (VCL suite) |
| ActiveX / COM | ✅ OCX controls | ❌ | ❌ | ❌ | ✅ (ActiveX) |
| VB6 / Classic ASP | ✅ via ActiveX | ❌ | ❌ | ❌ | ❌ |
| C++/CLI (.NET mixed-mode) | ✅ Both API layers | ✅ | ✅ | ✅ | ✅ |
| Any language with DLL FFI | ✅ Standard Win32 DLL | ❌ | ❌ | ❌ | ❌ |
ProEssentials는 8개 중 8개 플랫폼 대상을 지원합니다. DevExpress는 5개(별도 제품 라인에 걸쳐). LightningChart와 Syncfusion은 각각 3개. SciChart는 2개만 — WPF와 C++/CLI. C++ MFC, Delphi, ActiveX 또는 교차 언어 DLL 접근이 필요한 조직에게 ProEssentials는 이 비교에서 네이티브 지원을 제공하는 유일한 차트 라이브러리입니다.
ProEssentials는 전체 기능 세트를 동일한 기본 네이티브 Win32 DLL에 접근하는 두 개의 교환 가능한 API 레이어를 통해 노출합니다. .NET 속성 인터페이스는 계층적 속성 객체를 통해 IntelliSense가 풍부한 접근을 제공합니다(Pesgo1.PeData.Subsets = 5). C/C++ DLL API는 PEnset/PEvset 함수 호출을 통해 직접 접근을 제공합니다(PEnset(hObject, PEP_nSUBSETS, 5)). 두 API 모두 동일한 네이티브 DLL에서 동일한 내부 상태를 설정합니다 — 성능 차이, 기능 격차, 동작 차이가 없습니다.
이 이중 레이어 설계는 .NET 개발자가 고급 시나리오를 위해 PeSpecial.HObject를 통해 네이티브 DLL 핸들에 접근할 수 있고, C++ 개발자가 표준 Win32 PEcreate() 호출로 차트 창을 만들 수 있음을 의미합니다. C++/CLI 혼합 모드 애플리케이션은 동일한 프로젝트에서 한쪽 또는 양쪽 API를 사용할 수 있습니다. 렌더링 엔진, GPU Compute Shader, 내보내기 기능, 인쇄 및 1,000개 이상의 모든 차트 속성은 어떤 API 레이어를 사용하든 동일합니다.
| API Factor | .NET Property Interface | Native C/C++ DLL API |
|---|---|---|
| Access pattern | Pesgo1.PeData.Subsets = 5; | PEnset(hObject, PEP_nSUBSETS, 5); |
| Platforms | WPF, WinForms, C++/CLI | MFC, Win32, Delphi, ActiveX, any FFI |
| Rendering engine | Same native DLL underneath | Same native DLL directly |
| GPU compute shaders | ✅ Full access | ✅ Full access |
| IntelliSense / code completion | Full .NET IntelliSense | Header file constants |
| Interop | PeSpecial.HObject gives DLL handle | HWND-based, standard Win32 |
모든 속성, 모든 열거형 값, 모든 차트 유형이 두 API에서 동일하게 작동합니다. .NET 열거형 ManualScaleControl.MinMax는 C++ 상수 PEMSC_MINMAX에 매핑됩니다. .NET 이벤트 PeDataHotSpot는 Win32 메시지 CYCHART_DATAHOTSPOT에 매핑됩니다. 문서는 양쪽 모두를 다룹니다 — C++ DLL 상수 이름이 모든 .NET 속성 경로와 함께 나열됩니다.
ProEssentials는 각 플랫폼에 대한 전용 컨트롤을 제공합니다 — 래퍼나 인터롭 심이 아닌 플랫폼 자체의 컨트롤 호스팅 모델을 사용하는 네이티브 구현입니다. 각 플랫폼이 받는 내용은 다음과 같습니다:
ProEssentials는 XAML 레이아웃에 직접 통합되는 전용 WPF 컨트롤(PegoWpf, PesgoWpf, Pe3doWpf, PepsoWpf, PepcoWpf)을 제공합니다. 이들은 WinForms-in-WPF 인터롭 래퍼가 아닙니다 — WPF 레이아웃, 데이터 바인딩, WPF 렌더링 파이프라인을 지원하는 정식 WPF FrameworkElement입니다. 컨트롤은 대규모 데이터셋을 위한 완전한 GPU Compute Shader 지원과 함께 Direct2D 및 Direct3D 렌더링 엔진을 기본적으로 사용합니다.
5개 차트 객체 모두 WPF 컨트롤로 사용 가능합니다. NuGet 설치로 Visual Studio 도구 상자에 컨트롤이 추가됩니다. 계층적 .NET 속성 인터페이스가 완전한 IntelliSense를 제공합니다. 40개 이상의 포함된 WPF 예제 프로젝트가 모든 차트 유형, 실시간 스트리밍, 주석, 등고선 차트, 3D 표면, 대화형 대시보드를 시연합니다.
ProEssentials WinForms 컨트롤(PegoWin, PesgoWin, Pe3doWin, PepsoWin, PepcoWin)은 모든 WinForms 디자이너 레이아웃에 드롭되는 표준 System.Windows.Forms.Control 자손입니다. WPF 컨트롤과 동일한 네이티브 DLL 및 동일한 .NET 속성 인터페이스를 사용합니다 — 동일한 코드 패턴, 동일한 속성 이름, 동일한 렌더링 엔진.
SciChart는 WinForms 컨트롤을 제공하지 않습니다. LightningChart는 WinForms 컨트롤을 제공합니다. Syncfusion과 DevExpress 모두 WinForms 차트를 제공합니다. 그러나 경쟁사 중 어느 것도 ProEssentials처럼 WPF와 WinForms에 걸쳐 단일 네이티브 엔진을 공유하지 않습니다 — 경쟁사에서 WPF와 WinForms 차트 컨트롤은 다른 API와 때로는 다른 기능을 가진 별도의 코드베이스입니다.
ProEssentials는 차트 생성, 속성 접근, 데이터 로딩, 내보내기, 인쇄를 위한 100개 이상의 함수를 갖춘 네이티브 C/C++ DLL API(Pegrpapi.h)를 제공합니다. 차트 창은 PEcreate()로 생성되고 PEP_ 속성 상수를 사용하는 PEnset()/PEvset() 함수 호출로 구성됩니다. 이것은 COM 인터롭이나 .NET 호스팅이 아닙니다 — 모든 C/C++ 애플리케이션에 직접 링크되는 표준 Win32 DLL입니다.
DLL API는 완전한 ProEssentials 기능 세트를 지원합니다: 5개 차트 객체 모두, Direct3D를 통한 GPU Compute Shader, 실시간 스트리밍, 주석, PNG/JPEG/SVG/EMF로 내보내기, 인쇄, 대화형 줌/팬. MFC 통합은 간단합니다 — 모든 CWnd/CDialog의 자식 창으로 차트를 생성하고, PEnset/PEvset 호출로 속성을 구성하고, 이벤트를 위해 Win32 메시지를 처리합니다.
이 비교의 다른 어떤 차트 라이브러리도 네이티브 C/C++ DLL API를 제공하지 않습니다. SciChart, LightningChart, Syncfusion, DevExpress는 .NET 전용입니다 — C++ 애플리케이션은 CLR을 호스팅하거나, 관리 래퍼를 만들거나, COM 인터롭을 사용해야 합니다. ProEssentials는 Windows에서 순수 네이티브 C++ 차트를 위한 유일한 옵션입니다.
Delphi 개발자는 C++ MFC에서 사용하는 것과 동일한 네이티브 DLL API를 통해 ProEssentials에 접근합니다. Pegrpapi.h 헤더는 Delphi 유닛 임포트로 직접 변환됩니다. 차트 창은 PEcreate()로 생성되고 동일한 PEnset/PEvset 패턴으로 구성됩니다. 5개 차트 객체 모두, GPU 렌더링, 전체 속성 세트를 사용할 수 있습니다.
ActiveX/COM 접근은 등록된 OCX 컨트롤을 통해 제공됩니다. VB6, Classic ASP 및 모든 COM 지원 환경에서 ProEssentials 차트를 호스팅할 수 있습니다. OCX 컨트롤은 DLL API 및 .NET 인터페이스와 동일한 속성 세트를 노출합니다 — 동일한 렌더링 엔진, 동일한 동작, 동일한 출력.
DevExpress는 별도의 Delphi VCL 제품 라인과 ActiveX 컨트롤을 제공하지만, 이들은 다른 API와 다른 기능을 가진 .NET 차트와는 별개의 제품입니다. ProEssentials는 모든 플랫폼에서 동일한 엔진을 사용합니다 — WPF에서 작동하는 것은 Delphi, MFC, ActiveX에서도 동일하게 작동합니다.
배포 단순성은 IT 운영 비용, 에어갭 환경 지원, 프로덕션까지의 시간에 직접 영향을 미칩니다. ProEssentials는 런타임 활성화 없이, 온라인 계정 없이, 외부 종속성 없이 총 5-8MB의 단일 NuGet 패키지로 배포됩니다. 각 라이브러리의 비교는 다음과 같습니다:
| Deployment Factor | ProEssentials | SciChart | LightningChart | Syncfusion | DevExpress |
|---|---|---|---|---|---|
| NuGet packages | 1 package | 3–5 packages | 2–3 packages | 10+ packages | 5+ packages |
| Total deployment size | 5–8 MB | 80–100 MB | 50–80 MB | 100–150 MB | 80–120 MB |
| External runtimes required | None | VC++ 2013 Redistributable (3-D) | None | None | None |
| Online account required? | No | No | Yes — license portal | Yes — license key | No |
| License activation | None — no activation | Runtime key in code | Online activation server | License key in code | Runtime key in code |
| Xcopy / USB deploy? | ✅ Copy DLLs, run | Requires NuGet restore | Requires activation | Requires NuGet restore | Requires NuGet restore |
| Air-gapped deployment | ✅ No network needed | ✅ Offline key | ❌ Online activation + $300 reactivation fee | ⚠ Offline key generation | ✅ Offline key |
| Nag screen if license lapses? | No — perpetual | No | Yes — 1 fps + watermark | No | No |
ProEssentials는 이 비교에서 활성화 서버 없음, 계정 포털 없음, 코드에 임베딩된 라이선스 키 없음, 외부 런타임 없음, 구독 만료 시 잔소리 화면 없음으로 진정한 xcopy 배포를 지원하는 유일한 라이브러리입니다. 에어갭 환경(방위, 제조 현장, 기밀 네트워크)에서 이것이 종종 결정적 요소입니다 — LightningChart의 온라인 활성화 요구 사항과 $300 재활성화 비용은 연결이 끊긴 배포에서 비현실적입니다.
ProEssentials는 각각 특정 시각화 도메인에 최적화된 5개의 전문 차트 객체를 제공합니다. 5개 모두 지원되는 모든 플랫폼에서 사용 가능합니다 — WPF, WinForms, MFC, Delphi, ActiveX. 동일한 차트 객체 이름, 동일한 속성 구조, 동일한 렌더링 엔진이 플랫폼에 관계없이 적용됩니다.
| Chart Object | Purpose | Chart Types | Platforms |
|---|---|---|---|
| Pego | Graph Object — categorical X-axis | Bar, line, area, OHLC, ribbon, histogram, stacked, step, demographic pyramid | All (WPF, WinForms, MFC, Delphi, ActiveX) |
| Pesgo | Scientific Graph — continuous numeric X-axis | Scatter, line, spline, area, contour, heatmap, bubble, error bars, real-time streaming | All |
| Pe3do | 3-D Scientific Graph | Surface, wireframe, scatter, bar, waterfall, Delaunay, polygon data, 4-D | All |
| Pepso | Polar / Smith Object | Polar line, polar scatter, polar area, Smith charts, radar/spider | All |
| Pepco | Pie Chart Object | Pie, doughnut, multi-ring | All |
모든 차트 객체는 동일한 계층적 속성 인터페이스(PeData, PePlot, PeGrid, PeColor, PeString, PeFont, PeAnnotation, PeUserInterface, PeConfigure, PeFunction, PeLegend, PeTable)를 사용합니다. 하나의 차트 객체를 배우면 다섯 개 모두의 속성 구조를 이미 알게 됩니다. 객체 간의 유일한 차이점은 특정 PlottingMethod 열거형과 데이터 모델입니다(Pego는 범주형 PointLabels 사용, Pesgo는 숫자 X 배열 사용, Pe3do는 XYZ 그리드 사용).
ProEssentials는 1993년부터 지속적으로 개발되어 왔습니다 — 30년 이상의 하위 호환성. ProEssentials v4(MFC, 약 2000년)용으로 작성된 애플리케이션은 최소한의 코드 변경으로 v10에 대해 재컴파일할 수 있습니다. 속성 상수 이름(PEP_nSUBSETS, PEP_faYDATA 등)은 모든 주요 버전에 걸쳐 안정적으로 유지되었습니다. 새로운 기능은 새 속성으로 추가됩니다 — 기존 속성은 절대 제거되거나 이름이 변경되지 않습니다.
이는 장수하는 코드베이스를 가진 조직에 중요합니다. 2005년에 MFC로 시작하여 2015년에 UI를 WPF로 마이그레이션하고 2030년에 현대화를 계획하는 방위 프로그램은 전체적으로 ProEssentials를 사용할 수 있습니다 — 동일한 라이선스, 동일한 지원, 각 플랫폼 전환에 적응하는 동일한 차트 엔진. MFC 시대의 C++ DLL 코드가 여전히 컴파일됩니다. 2015년의 WPF 코드가 여전히 실행됩니다. 투자가 보존됩니다.
2012-2015년에 출시된 경쟁사(SciChart, LightningChart)는 동등한 실적이 없습니다. Syncfusion과 DevExpress는 긴 역사를 가지고 있지만 차트 구성 요소는 다른 플랫폼 세대에 걸쳐 여러 번 다시 작성되었으며, 종종 주요 버전 간에 호환성을 깨는 API 변경이 있었습니다.
하나의 라이선스 관계, 하나의 지원 팀, MFC → WinForms → WPF → 다음에 오는 것까지 아우르는 하나의 속성 인터페이스. ProEssentials는 이 비교에서 하위 호환성을 유지하면서 수십 년에 걸친 플랫폼 연속성을 입증한 유일한 차트 라이브러리입니다.
ProEssentials는 단일 네이티브 엔진에서 WPF, WinForms, C++ MFC, Delphi VCL, ActiveX를 지원하는 유일한 차트 라이브러리입니다. 두 개의 교환 가능한 API 레이어(.NET 속성 인터페이스 및 C/C++ DLL API)가 동일한 렌더링 엔진, 동일한 GPU Compute Shader, 동일한 1,000개 이상의 속성에 접근합니다. 배포는 활성화 없이, 계정 없이, 외부 런타임 없이 5-8MB입니다. 5개 차트 객체 모두 모든 플랫폼에서 동일하게 작동합니다.
SciChart는 WPF만 지원합니다. LightningChart는 WPF와 WinForms를 지원하지만 온라인 활성화가 필요합니다. Syncfusion과 DevExpress는 플랫폼별 다른 코드베이스로 WPF와 WinForms를 지원합니다. DevExpress는 추가로 Delphi와 ActiveX를 제공하지만 다른 API를 가진 별도 제품입니다. 크로스 플랫폼 Windows 차트가 필요한 조직 — 특히 C++ MFC, Delphi 또는 에어갭 배포 요구 사항이 있는 — 에게 ProEssentials는 하나의 제품, 하나의 라이선스, 하나의 지원 관계에서 모든 대상을 지원하는 유일한 옵션입니다.
ProEssentials 지원은 무료이며, 무제한이고, 엔진을 구축한 개발자가 직접 제공합니다. MFC 마이그레이션, Delphi 통합, WPF 배포, 에어갭 라이선스 또는 기타 무엇이든 문의하세요.
ProEssentials 팀에 문의 →귀사의 조직과 최종 사용자들에게 가장 쉽고 가장 전문적인 혜택을 제공함으로써 귀사께서 성공하시는 것이 당사의 최우선 목표입니다.
프로에센셜은 자체 차트 컴포넌트가 필요한 전기 공학 전문가들로부터 태어났습니다. 프로에센셜을 사용하는 탑 엔지니어링 기업들 명단에 참여히세요.
프로에센셜 고객이 되어주셔서 감사드리며, 프로에센셜 차트 제작 엔진을 연구해주셔서 감사드립니다.