私は、データの読み込み、処理、表示に使用されるツールを開発しています。私はC++/C#の私の選択について混乱しています。私はC++のプログラミングだけを行っています。 GUIなし、またはC#なし。パフォーマンス面での選択(VS2010)C++とC#
私はVS2010(義務)を使用します。
私はウェブ上で多くの読書をしました。私はそれが高性能になると、C++が最良の選択であることを理解しています。
- A GUI
- 読み込みファイル(1つのファイルは約25 MBで、約5000の画像の合計は、さらなる処理のための時に使用されるかもしれない)のデータを処理
- :私は、私は必要なものをリストアップします。主に数学的操作。
- データを表示します。これらは重いデータである可能性があります。 (〜GB)。私はこのためにOpenGLを使用することを考えています。
私はVC++でWindowsフォームアプリケーションを使い始めました。私はGUIを作ったし、それはかなり速かった。私はファイルを読む際にいくつか問題がありました。私の周りのほとんどの人がMFC(ダイアログベース)を使用しています。しかし、彼らは主にファームウェアプログラミングに取り組んでいます。彼らは私がMFCで開発すべきだと勧めました。しかし私は生産性が低下したことに気付きました
これまでの使用方法を教えてください。だから私の質問は:このツールが実行するはずのタスクについては、それはMFCに行く価値があるか、C#(またはC++のCLR)に移行する方が良いでしょうか。パフォーマンスに関して大幅な改善が得られれば、時間は最大の懸念事項ではありません。
これは開発の最初の部分です。その後、拡張する必要があります。そのことを念頭に置いて、将来の見通しには何が良いでしょうか。 (この情報が有用な場合は、処理にCUDAを使用する必要があるかもしれません)
私は明確です。親切に穏やかになり、必要に応じて詳細を聞いてください。
EDITS:明確な回答のため
感謝。読み取られるデータはバイナリイメージです(それぞれ25 MB〜-35 MB〜)。 1000枚の画像が積み重ねられて処理されます(一度にすべてではなく、ピクセルごとに)。私はMATLABで実装していますので、プロセスについての公正な考え方があります。主に、統計解析とフーリエ解析がデータに対して行われます。最後にポイントクラウドが生成されます。私はPCL(C++の点群ライブラリ)を使うことを考えています。私は今MATLAbに表示しているので、これはあまり大きくありません。将来的には、ファイルが大きくなってC++/C#環境に移行する可能性があります。表示されるデータには、ポイントの選択や、その特定のポイントのプロパティ/プロットを表示するオプションの表示などの機能が必要です。グラフィックスは重く表示されませんが、機能を選択することが重要です。
「パフォーマンス面で大幅な改善が得られれば、時間は最大の問題ではありません。」次に、各言語でプロトタイプを作成し、重要な操作の時間を測定し、最速のものを選択します。 –
GUIデザインを容易にするために2つのC#を混在させることができ、C#で十分に速くないタスクのネイティブC++または(よりよい)C++/CLIモジュールをコーディングすることができます。早すぎる最適化には注意してください。何か作業をしてから遅すぎるかどうかを確認するのがベストです。 –
あなたはC#を使用することができますが問題はありませんが、私はあなたがWPFを使用することをお勧めします – gasroot