

ほとんどの WPF チャートライブラリが対応するフレームワークは、まさに WPF ただ 1 つです。一部は WinForms を加えています。4 社の競合はいずれも C++ MFC、Delphi VCL、ActiveX に対応していません。ProEssentials はアーキテクチャが根本的に異なります。ネイティブな Win32 DLL のチャートエンジンであり、2 つの完全な API 層を備えています。1 つは WinUI、WPF、WinForms 向けの階層的な .NET プロパティインターフェイス、もう 1 つは MFC、Delphi、ActiveX、および foreign function interface(FFI)機能を持つあらゆる言語向けの標準的な C/C++ DLL API です。両方の API は、同じレンダリングエンジン、同じ GPU compute shader、そして同じ 1,200 種類以上のプロパティにアクセスします。
これが重要なのは、現実の組織は単一のフレームワークでは動いていないからです。防衛関連企業には、MFC ベースのデータ収集ソフトウェア、WPF のオペレーター ダッシュボード、Delphi のレガシー レポートツールがあり — そのすべてが同じチャート機能を必要とするかもしれません。ProEssentials は1つのライセンス、1組のドキュメント、1つのサポートチームでその3つすべてをカバーします。このページでは、プラットフォーム カバレッジ、デプロイ特性、そして全プラットフォームで利用できる5つのチャートオブジェクトを比較します。

以下の表は、5 つの WPF チャートライブラリすべてにわたるフレームワーク対応状況を比較したものです。SciChart は WPF のみに対応します(このほかに、ここでは対象外となる iOS/Android/Web 向けの別製品があります)。LightningChart は WPF と WinForms に対応します。Syncfusion と DevExpress は WPF、WinForms、WinUI に対応し、DevExpress はさらに Delphi VCL と ActiveX を別の製品ラインで提供しています。9 つのプラットフォームターゲットすべてを 1 つの製品でカバーするのは ProEssentials だけです。
| Platform / Framework | ProEssentials | SciChart | LightningChart | Syncfusion | DevExpress |
|---|---|---|---|---|---|
| WinUI 3 (.NET 10) | ✅ Native | ❌ | ❌ | ✅ (managed) | ✅ (managed) |
| 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 へアクセスする、相互に交換可能な2つの 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 コンピュートシェーダー、エクスポート機能、印刷、そして1,200以上の全チャート プロパティは、どちらの API レイヤーを使っても同一です。
| API Factor | .NET Property Interface | Native C/C++ DLL API |
|---|---|---|
| Access pattern | Pesgo1.PeData.Subsets = 5; | PEnset(hObject, PEP_nSUBSETS, 5); |
| Platforms | WinUI, 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 v11 では専用の WinUI 3 コントロール(PegoWinUI、PesgoWinUI、Pe3doWinUI、PepsoWinUI、PepcoWinUI)が追加されました。マネージド XAML ではなく、ネイティブの Direct3D および Direct2D C++ エンジンの上に構築された初のプレミアム WinUI チャートライブラリです。これらのコントロールは XAML ビジュアルツリーに直接ホストされた composition swap chain を通じて描画され、.NET 10 を対象とし、GPU compute shader を完全にサポートするネイティブ x64 および ARM64 ビルドとして提供されます。
WinUI コントロールは、WPF および WinForms コントロールとまったく同じ PExxx のプロパティ、メソッド、イベント API を共有しているため、サンプルコードはほとんど変更なくインターフェイス間で移植できます。Syncfusion と DevExpress も WinUI チャートを提供していますが、いずれもマネージド XAML コントロールです。ネイティブ C++ エンジンで描画される WinUI チャートライブラリは ProEssentials だけです。
ProEssentials は、XAML レイアウトに直接組み込める専用の WPF コントロール(PegoWpf、PesgoWpf、Pe3doWpf、PepsoWpf、PepcoWpf)を提供します。これらは WinForms を WPF 内でホストする相互運用ラッパーではなく、WPF のレイアウト、データバインディング、WPF レンダリングパイプラインに対応した正真正銘の WPF FrameworkElement です。各コントロールは Direct2D および Direct3D のレンダリングエンジンをネイティブに使用し、大規模データセット向けに GPU compute shader を完全にサポートします。WPF コントロールは .NET Framework 4.8、.NET 8、.NET 10 を対象とし、エンジンは読み込み時にアーキテクチャに合致したネイティブビルド(ARM64 では PEGRPARM64I.DLL)をバインドします。そのため ProEssentials は、アプリケーションの EXE 自体が x64 としてビルドされている場合を除き、あらゆるケースでネイティブ ARM64 として描画します。
5つのチャートオブジェクトすべてが WPF コントロールとして利用できます。NuGet インストールでコントロールが Visual Studio のツールボックスに追加されます。階層的 .NET プロパティ インターフェイスは完全な IntelliSense を提供します。40以上の同梱 WPF サンプルプロジェクトが、すべてのチャートタイプ、リアルタイム ストリーミング、アノテーション、コンターチャート、3D サーフェス、インタラクティブ ダッシュボードを実演します。
ProEssentials の WinForms コントロール(PegoWin、PesgoWin、Pe3doWin、PepsoWin、PepcoWin)は、標準的な System.Windows.Forms.Control の派生クラスであり、任意の WinForms デザイナーレイアウトに組み込めます。これらは WPF コントロールと同じネイティブ DLL、同じ .NET プロパティインターフェイスを使用し、コードパターンもプロパティ名もレンダリングエンジンも同一です。WPF コントロールと同様に、.NET Framework 4.8、.NET 8、.NET 10 を対象とし、ネイティブ x64 および ARM64 ビルドを備えています。
SciChart は WinForms コントロールを提供していません。LightningChart は WinForms コントロールを提供します。Syncfusion と DevExpress はどちらも WinForms チャートを提供します。しかし、ProEssentials のように WPF と WinForms で単一のネイティブ エンジンを共有する競合は1つもありません — 競合では、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 コンピュートシェーダー、リアルタイム ストリーミング、アノテーション、PNG/JPEG/SVG/EMF へのエクスポート、印刷、インタラクティブなズーム/パン。MFC 統合は簡単です — 任意の CWnd/CDialog の子ウィンドウとしてチャートを作成し、PEnset/PEvset 呼び出しでプロパティを設定し、イベントは Win32 メッセージで処理します。
この比較の中で、ネイティブ C/C++ DLL API を提供するチャートライブラリは他にありません。SciChart、LightningChart、Syncfusion、DevExpress は .NET 専用です — C++ アプリケーションは CLR をホストするか、マネージド ラッパーを作るか、COM 相互運用を使う必要があります。Windows 上の純粋なネイティブ C++ チャートにとって、ProEssentials が唯一の選択肢です。
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 コントロールを提供していますが、これらは .NET チャートとは異なる製品で、API も機能も異なります。ProEssentials は全プラットフォームで同じエンジンを使います — WPF で動くものは、Delphi、MFC、ActiveX でも同一に動きます。
デプロイのシンプルさは、IT 運用コスト、エアギャップ環境のサポート、本番投入までの時間に直結します。ProEssentials のデプロイは合計5〜8 MB の単一 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 | One key, offline — no per-app 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 つすべてが、対応するすべてのプラットフォーム、すなわち WinUI、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 (WinUI, 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)を使います。1つのチャートオブジェクトを学べば、5つすべてのプロパティ構造をすでに知っていることになります。オブジェクト間の唯一の違いは、固有の PlottingMethod 列挙型とデータモデルです(Pego はカテゴリー型の PointLabels、Pesgo は数値の X 配列、Pe3do は XYZ グリッドを使用)。
ProEssentials は1993年から継続的に開発されています — 30年以上の後方互換性です。ProEssentials v4(MFC、2000年頃)向けに書かれたアプリケーションは、最小限のコード変更で v11 に対して再コンパイルできます。プロパティ定数名(PEP_nSUBSETS、PEP_faYDATA など)は、すべてのメジャーバージョンを通じて安定しています。新機能は新しいプロパティとして追加され — 既存のプロパティが削除されたり改名されたりすることはありません。
これは長寿命のコードベースを持つ組織にとって重要です。2005年に MFC で始まり、2015年に UI を WPF へ移行し、2030年にモダナイゼーションを計画している防衛プログラムは、その全期間で ProEssentials を使えます — 同じライセンス、同じサポート、各プラットフォーム移行に適応する同じチャートエンジン。MFC 時代の C++ DLL コードは今もコンパイルできます。2015年の WPF コードは今も動きます。投資は保護されるのです。
2012〜2015年に登場した競合(SciChart、LightningChart)には、同等の実績がありません。Syncfusion と DevExpress には長い歴史がありますが、そのチャートコンポーネントはプラットフォーム世代をまたいで何度も書き直されており、メジャーバージョン間で破壊的な API 変更を伴うことも珍しくありません。
ライセンス契約は 1 つ、サポートチームは 1 つ、そして MFC → WinForms → WPF → WinUI → その次に来るものまでを貫く 1 つのプロパティインターフェイス。ProEssentials は、この比較の中で、後方互換性を保ちながら数十年にわたるプラットフォームの継続性を実証してきた唯一のチャートライブラリです。
ProEssentials は、WinUI、WPF、WinForms、C++ MFC、Delphi VCL、ActiveX を 1 つのネイティブエンジンでカバーする唯一のチャートライブラリです。相互に置き換え可能な 2 つの API 層(.NET プロパティインターフェイスと C/C++ DLL API)が、同じレンダリングエンジン、同じ GPU compute shader、同じ 1,200 種類以上のプロパティにアクセスします。配布サイズは 5~8 MB で、オンラインアクティベーションもアカウントも外部ランタイムも不要です。5 つのチャートオブジェクトはすべて、あらゆるプラットフォームでまったく同じように動作します。
SciChart は WPF のみに対応します。LightningChart は WPF と WinForms に対応しますが、オンラインアクティベーションが必要です。Syncfusion と DevExpress は WPF、WinForms、WinUI に対応しますが、プラットフォームごとに異なるコードベースを使用します。DevExpress はさらに Delphi と ActiveX も提供していますが、これらは異なる API を持つ別製品です。クロスプラットフォームの Windows チャート作成を必要とする組織、とりわけ C++ MFC、Delphi、あるいはエアギャップ環境での配布要件を抱える組織にとって、ProEssentials は、1 つの製品、1 つのライセンス、1 つのサポート契約であらゆるターゲットをカバーする唯一の選択肢です。
ProEssentials のサポートは無料・無制限で、エンジンを作った開発者が直接提供します。MFC 移行、Delphi 統合、WPF デプロイ、エアギャップ ライセンスなど、何でもご相談ください。
ProEssentials チームに連絡 →御社とエンドユーザーに最も簡単で最もプロフェッショナルな価値を提供することで、お客様の成功を最優先目標とします。
ProEssentials は、自らのチャートコンポーネントを必要としたプロの電気エンジニアから生まれました。ProEssentials を使う一流エンジニアリング企業の長いリストに加わってください。
ProEssentials のお客様であることに感謝するとともに、ProEssentials チャートエンジンをご検討いただきありがとうございます。