

ProEssentials v11 は、ゼロから設計されたネイティブ C++ エンジンの上に構築された、WinUI 3 向けで初のプレミアムチャートライブラリです。市場に出ている他のすべての WinUI チャートは、XAML レイヤーを通じて描画するマネージドの .NET コントロールです。ProEssentials はそうではなく、C++ MFC、Delphi、ActiveX、WinForms、WPF の各製品を長年支えてきたのと同じネイティブの Direct3D / Direct2D エンジンを、そのまま WinUI 3 の下で直接動作させています。
そのネイティブエンジンこそが、ProEssentials が 1億ポイントをリアルタイムにストリーミングし、本物の GPU 3D / 4D サーフェスを描画し、ネイティブ ARM64 バイナリとして提供できる理由です。ライセンス形態も、開発者がかつて当然としていたものです。毎年更新するサブスクリプションではなく、無償の生涯サポートが付く一度きりの永続ライセンス購入です。
以下の表は、現在 WinUI チャートコントロールを提供している 4 つのコンポーネントスイート、すなわち Syncfusion、Telerik、DevExpress、ComponentOne と ProEssentials を比較したものです。
Quick NuGet clone, build, run? Grab the ProEssentials WinUI starter on GitHub (GigasoftInc/winui-starter).
最大の違いは最初のデータ行に表れています。ProEssentials はネイティブの C++ エンジンで描画するのに対し、競合はいずれもマネージド XAML を通じて描画します。このページの他のほぼすべては、そこから導かれます。
| Factor | ProEssentials | Syncfusion | Telerik | DevExpress | ComponentOne |
|---|---|---|---|---|---|
| Rendering Engine | Native C++ Direct3D + Direct2D — one engine shared with MFC, Delphi and ActiveX | Managed XAML; WriteableBitmap fast series | Managed XAML; Composition ContainerVisuals | Managed XAML control | Managed XAML; optional Direct2D render mode |
| Large-Data Ceiling (2-D) | ✅ 100 million points, real time (GigaPrime2D) | Bitmap fast series; million-point benchmark is WPF | Aggregate the data before binding | Sampling; largest figures are WinForms | Direct2D mode; 50k published (WinForms) |
| Data Loading Model | Zero-copy — reads your existing float[] in place | Object-per-point ItemsSource | Object-per-point ItemsSource | Object-per-point ItemsSource | ItemsSource binding |
| GPU 3-D / 4-D Surfaces | ✅ Native Direct3D — surface, wireframe, scatter, contour, 4-D color | 2-D charting focus | 2-D charting focus | 2-D charting focus | 2-D charting focus |
| Native ARM64 Engine | ✅ Yes — PEGRPARM64I.DLL native binary | Managed .NET (ARM64 via runtime) | Managed .NET (ARM64 via runtime) | Managed .NET (ARM64 via runtime) | Managed .NET (ARM64 via runtime) |
| How far the same control reaches | One engine, one PExxx API — WinUI, WPF, WinForms, C++ MFC, Delphi, ActiveX, embedded scenarios, plus basic web reporting via WebForms | WinUI control targets Windows desktop; web and mobile are separate product lines | WinUI control targets Windows desktop; web and mobile are separate product lines | WinUI control targets Windows desktop; web and mobile are separate product lines | WinUI control targets Windows desktop; web and mobile are separate product lines |
| AI Code Assistance | pe_query.py — answers validated against the compiled DLL | Docs and AI chat (can hallucinate) | Docs and AI chat (can hallucinate) | Docs and AI chat (can hallucinate) | Docs (can hallucinate) |
| License Model | Perpetual — one-time, royalty-free | Annual subscription | Annual subscription | Annual subscription | Annual subscription |
| Activation | One key for all your apps — set at dev setup, no phone-home | License key registered in app code | License key in the project | License key in the project | License key in the application |
| Support | Free, unlimited, lifetime of the version | With active subscription | With active subscription | With active subscription | With active subscription |
| What You License | A focused charting product | Full suite (chart is 1 of 100+ controls) | Full suite (chart is 1 of 100+ controls) | Full suite (chart is 1 of 100+ controls) | Full suite (chart is 1 of 100+ controls) |
マネージドの WinUI チャートは、.NET 内で描画イメージを構築し、その結果を XAML コンポジターに引き渡します。数千ポイント程度であればそれで問題ありませんが、データが増えるにつれて、オブジェクトグラフ、ガベージコレクション、ポイントごとのマーシャリングがボトルネックになります。
ProEssentials はそのレイヤーを省きます。C++ エンジンが Direct3D と Direct2D に直接やり取りし、compute shader を用いて GPU 上でチャートのジオメトリを構築し、お客様のデータ配列をその場で読み取ります。WinUI コントロールは、そのエンジンを包む薄いホストであって、レンダラー自体ではありません。
エンジンは C++ MFC、Delphi、ActiveX、WinForms、WPF、WinUI のすべてで同一のネイティブコードであるため、チャートはどこでも同じ見た目と同じパフォーマンスになり、一度習得した API はそれらすべてで通用します。
| Library | WinUI Rendering | Engine | Shared Engine Reach |
|---|---|---|---|
| ProEssentials | Native Direct3D + Direct2D | C++ | WinUI, WPF, WinForms, MFC, Delphi, ActiveX, WebForms |
| Syncfusion | XAML + WriteableBitmap | Managed .NET | WinUI only (web/mobile are separate products) |
| Telerik | XAML + Composition visuals | Managed .NET | WinUI only (web/mobile are separate products) |
| DevExpress | XAML | Managed .NET | WinUI only (web/mobile are separate products) |
| ComponentOne | XAML + optional Direct2D | Managed .NET | WinUI only (web/mobile are separate products) |
ComponentOne の FlexChart は Direct2D レンダリングモードを備えているため、Direct2D に触れられる WinUI チャートは ProEssentials だけではありません。違いは、ProEssentials が 1 つの高速パスのために Direct2D を呼び出すマネージドコントロールではなく、GPU 3D とネイティブ ARM64 ビルドを備えた、端から端まで完全にネイティブな C++ エンジンであるという点です。
ProEssentials のチャートは XAML では描画されません。ネイティブエンジンが独自の DXGI flip-model composition swap chain (BGRA8、2 バッファー、FLIP_DISCARD) を作成し、生成した IDXGISwapChain1 を ISwapChainPanelNative::SetSwapChain を通じて XAML ホストに引き渡します。その時点から、チャートのピクセルは DWM によってお客様のビジュアルツリーへ直接合成されます。中間の WriteableBitmap も、フレームごとの CPU コピーも、たどるべき XAML シェイプツリーもありません。Direct2D デバイスコンテキストは同じ D3D11 デバイス上に作成され、バックバッファ自体をターゲットとするため、2-D コンテンツは DWM が今まさに表示しようとしているバッファへ GPU が直接描画します。当社は 96 DPI のデバイスピクセルでハーフピクセル変換を用いて描画しており、これが軸の目盛りやグリッド線が 2 ピクセルにまたがってにじむことなく、正確なピクセル境界に収まる理由です。
レイテンシは意図的に制御されています。DXGI は放っておくと 2、3 フレーム先までバッファリングしますが、当社は SetMaximumFrameLatency(1) を呼び出して present キューが増えないようにしています。これを、60 fps のループではなくデータが変化したときに表示するオンデマンドレンダリングと組み合わせることで、チャートはドラッグ中も応答性を保ちつつ、何も動いていないときに GPU を無駄に回すことがありません。ズームボックスのドラッグには、さらに RenderPriority プロパティが役立ちます。これはドラッグを通常のチャート再描画より優先させ、ボックスがそれらの後ろで処理待ちになることなくポインターに追従するようにします。
WinUI がここで何を変えたのかを、正確に述べておく価値があります。WPF の DirectX 相互運用は、いまだに D3DImage を経由します。これは 2008 年にさかのぼる Direct3D 9Ex の共有サーフェスパスであり、D3D11 のコンテンツは、WPF のコンポジターに受け入れられる前に D3D9Ex サーフェスへコピーされなければなりません。あらゆる WPF チャートライブラリが、当社製品も含め、このワンステップを引き継ぎます。これはベンダーの選択ではなくプラットフォームの制約であり、同じエンジンが WPF よりも WinUI で低レイテンシに表示される大きな理由となっています。
3-D パスの 2 つの詳細は、コンポジションがいかに厳密であるかを示しています。DXGI は flip-model composition swap chain のマルチサンプリングを許可しないため、MSAA が有効な場合、エンジンは 3-D シーンをオフスクリーンのマルチサンプルターゲットに描画し、それをシングルサンプルのバックバッファへ解決 (resolve) します。これにより、コンポジションを犠牲にすることなく、サーフェスプロットの滑らかなエッジを保てます。2-D と 3-D の swap chain は、アルファモードも意図的に異なります。2-D チェーンは事前乗算 (premultiplied) であり、チャートがお客様の XAML 背景の上に合成されるようにします。一方、3-D チェーンは不透明です。3-D シーンはアルファ 0 でクリアされ、Direct2D の軸オーバーレイは色を書き込みますがアルファは書き込まないためです。事前乗算チェーンでは、DWM がそれらのオーバーレイピクセルを透明として扱い、タイトル、凡例、軸が何の警告もなく消えてしまいます。
オーバーレイも妥協ではなく、同じ扱いを受けます。リアルタイムのテーブル注釈は、同じ D3D11 および Direct2D デバイス上に作成され、コントロールテンプレート内の専用パネルにバインドされた、2 つ目の完全に透明な composition swap chain に描画されます。これはチャートのハーフピクセル変換を共有するため、2 つのレイヤーはピクセル単位で正確に整列し、独立して再描画されます。ライブのテーブルオーバーレイを更新しても、その下にあるチャートは再描画されません。
ネイティブエンジンの真価が最も明確に表れるのは、大規模データの扱いです。ProEssentials はチャートを float 配列に向けるだけで、特別なシリーズ型を選ぶことなく、1億個の値すべてを GPU に送ります。そこですべてのポイントが処理されます。データが表示解像度より密な場合、フィルタリング用の compute shader が各ピクセル列を 50 組の min/max ペア、すなわち 1 ピクセルあたり 100 プロットポイントに凝縮します。そのため、あらゆるスパイクが失われず、密な領域は、すべての点を個別に描いた場合とまったく同じように、真のべた塗りとして描画されます。マネージドスイートも大規模なデータセットを表示できますが、ビューポート幅でのダウンサンプリングやビットマップの高速パスに頼っており、まずお客様のデータをオブジェクトコレクションにコピーします。
| Factor | ProEssentials | Syncfusion | Telerik | DevExpress | ComponentOne |
|---|---|---|---|---|---|
| Plots 100M in real time? | ✅ Yes — natively | ⚠️ Bitmap series (WPF benchmark) | ⚠️ Aggregate first | ⚠️ Sample first | ⚠️ Direct2D (50k published) |
| Data model | Zero-copy float[] pointer | Object-per-point | Object-per-point | Object-per-point | ItemsSource binding |
| Special series type needed? | No — same control at any size | Yes — FastLineBitmapSeries | Yes — sampling settings | Yes — sampling settings | Yes — Direct2D render mode |
| Full-fidelity display | Lossless GPU min/max filter | Bitmap rasterization | Downsampled subset | Sampled subset | Direct2D rasterization |
各ライブラリの WinUI コードを添えた、1億ポイントの完全なウォークスルーを、独立した記事として用意しました。 WinUI の 1億ポイント比較を読む.
主要な WinUI スイートは、2-D の直交座標チャートと金融チャートに注力しています。ProEssentials はネイティブの Direct3D パイプラインを WinUI にも持ち込んでおり、同じコントロールで 3-D サーフェス、ワイヤーフレーム、散布点群、等高線、4-D のカラーマッピングプロットを GPU 上に描画します。装飾的な 3-D 棒グラフではなく本物のサーフェスプロットを必要とする工学、科学、信号処理の分野において、これはマネージドコントロールが WinUI で太刀打ちできない領域です。
ProEssentials は、アカウントも登録も不要な単一の公開ダウンロードとして提供されます。当社 Web サイトからの PE11-Setup.exe です。これはすべてをローカルにインストールし、完全なサンプル一式、ローカルのヘルプシステム、そしてセットアップ完了直後に実行できるビルド済み EXE の TestBed を含みます。プロジェクト単位のインストール向けに NuGet パッケージも提供していますが、NuGet に含まれるのはアセンブリのみで、ヘルプシステムもサンプルも TestBed もありません。評価にはセットアップの利用をお勧めするのはこのためです。
| Factor | ProEssentials | Syncfusion | Telerik | DevExpress | ComponentOne |
|---|---|---|---|---|---|
| How you get it | One public download — PE11-Setup.exe | Account, then installer or NuGet | Account, then installer or feed | Account, then private feed | Account, then installer or NuGet |
| Account to evaluate? | No | Yes | Yes | Yes | Yes |
| NuGet option | Yes — local feed added by setup, plus nuget.org | Yes | Yes + license key | Private feed + credentials | Yes + license key |
| What the download gives you | Assemblies + full example set + local help + pre-built TestBed EXEs | Suite installer / demo app | Suite installer / demo app | Suite installer / demo app | Suite installer / demo app |
WinUI では、どのベンダーも同じプラットフォーム要件を引き継ぎます。パッケージ化されていない WinUI アプリケーションは、ターゲットマシンに .NET 10 Desktop Runtime と Windows App SDK Runtime を必要とし、単一の EXE ではなく出力フォルダー全体を配布します。ライブラリ間で異なるのは、チャート自体がその上に追加するものだけです。
| Factor | ProEssentials | Syncfusion | Telerik | DevExpress | ComponentOne |
|---|---|---|---|---|---|
| Runtimes on the target machine | .NET 10 Desktop + Windows App SDK | Same — WinUI platform requirement | Same — WinUI platform requirement | Same — WinUI platform requirement | Same — WinUI platform requirement |
| What the chart itself adds | Your assembly + one native engine DLL — PEGRP64I.DLL, or PEGRPARM64I.DLL on ARM64 | Managed assemblies | Managed assemblies | Managed assemblies | Managed assemblies |
| Native ARM64 build | Yes — separate ARM64 engine (AnyCpu assembly embeds both) | Managed (ARM64 via runtime) | Managed (ARM64 via runtime) | Managed (ARM64 via runtime) | Managed (ARM64 via runtime) |
| Per-app licensing step | One serial covers all your apps — no per-exe key, no phone-home | License key registered in app code | License key in the project | License key in the project | License key in the application |
これは単純な価格比較ではありません。4 つのスイートは、チャートが 100 以上あるコントロールの 1 つに過ぎないバンドルとして販売されているのに対し、ProEssentials はチャートに特化した製品です。より明確な違いはモデルにあります。ProEssentials は一度きりの永続ライセンス購入ですが、スイートは更新とサポートを維持するために毎年更新する年間サブスクリプションです。以下の数値は比較用のスイートの参考開始価格であり、チャート単体の価格ではありません。
| Factor | ProEssentials | Syncfusion | Telerik | DevExpress | ComponentOne |
|---|---|---|---|---|---|
| License model | Perpetual — one-time | Annual subscription | Annual subscription | Annual subscription | Annual subscription |
| Indicative price (1 dev) | $4,799 perpetual | Free community tier, else paid | DevCraft suite, from ~$1,126 / yr | Universal suite, from ~$2,254 / yr | Per-developer / yr |
| Pay again next year? | No | Yes | Yes | Yes | Yes |
| Free community tier? | Full-featured evaluation | Yes — under revenue / size limits | No | No | No |
| Support | Free, unlimited, lifetime | Forums; paid tiers | With active subscription | With active subscription | With active subscription |
仕組みもシンプルです。ProEssentials では購入時にシリアル番号が提供され、開発環境のセットアップ時に使用します。それ以外にサーバーへの通信 (phone-home) や、アプリごとの認証は一切ありません。
価格はスイートの参考開始価格 (ComponentSource, 2026) であり、時期によって変動します。最新の価格およびコミュニティライセンスの条件は、各ベンダーにご確認ください。
WinUI アプリが扱うデータが控えめで、完全に .NET の世界の中で完結しているのであれば、ここに挙げたどのスイートでも用は足りますし、すでにお持ちかもしれません。しかし、大規模データでの真のパフォーマンス、GPU による 3-D / 4-D サーフェス、ネイティブ ARM64 ビルド、あるいは C++、Delphi、ActiveX のコードベースと同じチャートを共有することが必要なら、そのために作られた WinUI の選択肢は ProEssentials だけであり、しかもサブスクリプションは不要です。
競合製品のレンダリングおよびライセンスに関する詳細は、各ベンダーの公式ドキュメントおよび公開価格に基づいています:
Syncfusion (WinUI SfCartesianChart)
Telerik (UI for WinUI RadChart)
DevExpress (WinUI / Universal)
ComponentOne / MESCIUS (FlexChart for WinUI)
御社とエンドユーザーに最も簡単で最もプロフェッショナルな価値を提供することで、お客様の成功を最優先目標とします。
ProEssentials は、自らのチャートコンポーネントを必要としたプロの電気エンジニアから生まれました。ProEssentials を使う一流エンジニアリング企業の長いリストに加わってください。
ProEssentials のお客様であることに感謝するとともに、ProEssentials チャートエンジンをご検討いただきありがとうございます。