我正在开发一种用于读取、处理和显示数据的工具。我对我在 C++/C# 之间的选择感到困惑。我只做过 C++ 控制台编程。没有 GUI 或没有 C#。
我将使用 VS2010(必修)。
我在网上做了很多阅读。我知道在高性能方面,C++ 是最佳选择。我会列出我需要的:
- 图形用户界面
- 读取文件(一个文件大约 25 MB,一次可能使用总共大约 5000 张图像进行进一步处理)
- 处理数据。主要是数学运算。
- 显示数据。这些可能又是沉重的数据。(〜GB)。我正在考虑为此使用OpenGL。
我从 VC++ 下的 Windows 窗体应用程序开始。我做了一个图形用户界面,它相当快。我在读取文件时遇到了一些问题。我周围的大多数人都在使用 MFC(基于对话框)。但他们主要从事固件编程。他们建议我应该在 MFC 中开发。但我意识到我的生产力下降了。
现在由我决定使用什么。所以我的问题是:对于这个工具应该执行的任务,是否值得去 MFC 或更好我转向 C#(或 C++ CLR)。如果我在性能方面获得显着改善,时间并不是最大的问题。
这是开发的第一部分。之后,它需要扩展。牢记这一点,什么对未来的前景更好。(如果此信息有用,我们可能需要使用 CUDA 进行处理。)
我希望我很清楚。如果需要,请保持温和并询问更多细节。
编辑:
感谢您的明确答复。正在读取的数据是二进制图像(25 MB~ -35 MB~ 每个)。成千上万的图像被堆叠和处理(不是一次全部,而是逐个像素)。我已经在 MATLAB 中实现了它,所以我对这个过程有一个很好的了解。主要对数据进行统计分析和傅里叶分析。最后生成点云。我正在考虑使用 PCL(C++ 中的点云库)。这些不是很大,因为我现在正在 MATLAb 中显示。将来,文件可能会变得更大,因此我们正在迁移到 C++/C# 环境。显示的数据需要具有诸如选择点和显示选项以显示该特定点的属性/绘图等功能。图形显示并不重,但更重要的是选择特征的能力。