投稿

C#Windowsフォームの無料チャートライブラリとGPUアクセラレーション

Visual Studio 2022ソフトウェアのNugetパッケージマネージャで多くのチャート描画ライブラリが検索されますが、実際の開発会社サイトにアクセスしてみると無料で使用すると機能に制限があるか、会社で使用すると決済をしなければならない有料ポリシーがある場合がある。その代わりに、イクロソフトが公式にサポートするチャートライブラリと他の無料で利用可能なチャートライブラリを紹介しようとする。

`Visual Studio 2022> Manage Nuget Packages ...` - 多くのチャートライブラリをダウンロードできますが、有料または機能上の制約があります。 Visual Studio 2022> Manage Nuget Packages ... - 多くのチャートライブラリをダウンロードできますが、有料または機能上の制約があります。

マイクロソフトチャート

マイクロソフトが提供するチャート・コントラルは以下のような特徴を持っている。

  • WPFと一般的なWindows Forms Appプロジェクトでチャートコントロールを使用できません。
  • Windows Forms Appプロジェクトでチャートコントロールを使用できます。 .NET Frameworkでプロジェクトを作成する必要があります。
  • 当然、Windows Forms Appプロジェクトなので描画動作でGPUアクセラレーションを使用できない。

.NET Framework VS .NET
本来、Microsoftは主にWindowsサポートのための.NET Frameworkとクロスプラットフォームのための.NET Coreをサポートしたが、2020年に.NET Framework 4.8.1を最後のバージョンにして、.NET Frameworkと.NET Coreを統合して.NETという。名前で支援するようになった。 2024年現在、.NET 8.0バージョンが最新である。

プロジェクトを作成するときは、Windows Forms App(.NET Framework)を選択してください。

Visual Studio 2022 - プロジェクトの作成 Visual Studio 2022 - プロジェクトの作成

そして、Frameworkで .NET Framework 4.8を選択します。 4.8バージョンは、ネットフレームワークの最後のバージョンです。

Visual Studio 2022 - .NET Framework 4.8の選択 Visual Studio 2022 - .NET Framework 4.8の選択

プロジェクトが正常に作成されたら、FormデザイナーのDataセクションでChartコントラルが利用可能であることを確認できます。

Visual Studio 2022 - フォームデザイナー Visual Studio 2022 - フォームデザイナー

GPU アクセラレーションの使用 - SharpDX

デフォルトでは、Windows Forms AppではGPUアクセラレーションを使用できません。しかし、SharpDXライブラリを使えば、DirectXを通じてGPUアクセラレーションを使うことができる。

以下のブログの記事を参照しないと、WPFが基本的にGPUアクセラレーションが使用可能なものに比べてWindows Forms Appでは追加的な処理が必要なため簡単に見えなかった。マイクロソフトチャートを使用する際に、簡単なGPU使用のためのクラスを作成して共有します。

  • https://luckygg.tistory.com/389

この記事は著作権者のライセンス:LICENSE_NAMEに従います。