1

我需要在 WinCE 平台上绘制大量的实时图形。为此,VC++ 和 C# 之间哪种语言更好以获得高性能?此外,我们将要开发的图形应用程序应该链接到当前现有的 c++ 模块。如果我们选择c#写中间层需要很大的努力,那么我们不会选择它。请考虑这一点。

4

3 回答 3

1

在任何情况下,C# 都不会比 C++ 快。他们可能充其量是平等的。由于您必须使用 C++ 库,因此 C++ 无疑是赢家 :-)

于 2010-09-07T11:18:27.023 回答
1

您可能希望直接调用 GDI,因此使用哪种语言并不重要,因为实际操作发生在 GDI dll 中。

但是,如果您还想与 C++ 库交互,则最好使用密切相关的 VC++。否则,您需要使用包装器在 C# 和 C++ 之间进行转换,这对于图形绘制等任务来说是开销。

请注意,我说的是 C#,而不是 .Net Framework 上的 C#。

于 2010-09-07T11:50:00.733 回答
0

你似乎在回答你自己的问题。说 c++ 是首选。

如果您选择 c#,那么是的,您必须在开始扩展功能之前编写包装器并处理所有类型转换(以及所有测试)。

为什么你需要如此高的图形性能,以至于出现了 c++ vs c# 的问题?

如果您在 c# 上使用 c++ vs xna,那么您基本上是在考虑使用 directx 或 opengl。

因为您的代码库已经是 c++,所以您的经验似乎也将在那里,因此更改为 c# 不太可能在 fps 或开发时间上产生任何性能提升。

c++ 总是有可能执行得更快……缺点是开发成本更高,因为它自动为您做的更少。c# 的权衡是,如果您想要恢复这种性能,您必须在创建和处置大量对象的情况下真正提前计划。

于 2010-09-07T15:21:56.297 回答