C++ 本机 Vs C++/Cli 性能(用于 OpenCV 项目)

Posted

技术标签:

【中文标题】C++ 本机 Vs C++/Cli 性能(用于 OpenCV 项目)【英文标题】:C++ native Vs C++/Cli Performance ( for OpenCV project) 【发布时间】:2010-09-11 18:02:13 【问题描述】:

我们正在开发一个使用 OpenCV 库来跟踪手势和动作感应的项目。我很困惑是选择原生 c++ 程序还是使用 .NET (VC++) 中提供的 C++/CLI。

性能至关重要,需要大量的图像处理。由于我们计划使用 OpenCV 广泛的方法,并且该项目需要与操作系统频繁通信。

另外,我在哪里可以找到用于加速 OpenCV 应用程序的 IPP 库? '.NET 框架'不会阻碍项目的性能吗?

另外请向我们推荐合适的工作环境。我已经看到许多 OpenCV 项目是在 VC++ 中完成的。

我们应该选择 VC++(因为这个选项给了我一个优势来构建一个合适的和吸引人的 gui)?

救命!

【问题讨论】:

您打算使用 .NET 的哪些部分? 最近在这里提出了非常相似的问题:***.com/questions/3691198/… 和这里:***.com/questions/3652327/… 【参考方案1】:

如果您绝对必须使用 .NET 功能,请仅使用 C++/CLI 路线。尽管 c++/cli 是一种托管语言,但您的应用程序的性能应该没有任何差异。

英特尔有一个很棒的 IPP 库可供您使用。

如果您已经熟悉 VC++,请继续使用它。

【讨论】:

【参考方案2】:

大多数性能问题是由于框架使用不当和代码编写不当引起的。本机 C++ 和托管 C++ (CLI) 都适合您。我更喜欢本机 C++,以便更轻松地与 OpenCV 集成(我的个人意见)。就环境而言,我认为您不会找到比 Visual Studio 更好的东西。

【讨论】:

以上是关于C++ 本机 Vs C++/Cli 性能(用于 OpenCV 项目)的主要内容,如果未能解决你的问题,请参考以下文章

C++/CLI + C++ Native 会提高性能吗? [关闭]

VS2010之C++

(C++/CLI) 如何在 C++ CLI 中获取从本机代码到托管代码的回调?

如何将 C++ 本机对象编组到托管 C++ CLI

我可以使用 C++/CLI (.NET Winforms/WPF) 为用本机 C 和 C++ 编写的应用程序提供 GUI

尝试从 C++/CLI 调用非托管 C++ 时解决错误