您的位置:首页 > 编程语言 > C语言/C++

编写高效的C#图像处理程序(4) Rgb=>Lab,C# vs. C++(VC)

2014-03-14 13:13 579 查看
作者:xiaotie

转自:/article/4621706.html

在 《编写高效的C#图像处理程序(3) Rgb=>Lab,图像缺陷检测的例子》 一文中比较了 C#/Unsafe 和 P/Invoke/C情况下的性能,本文比较 C#/Unsafe 和 C++(VC)下的性能。

为消除两种语言的测试区别,C#版本查表时使用指针而非数组,VC下使用无Stride的Rgb24,相关测试代码见
下载链接 。

这又形成了4个测试用例:

H- C#,非查表;I-C#,查表; J-C++,非查表; K-C++,查表

C# 版为 .Net 4.0, VS2010 ,代码中选择快速一项为测试I,不选择为测试H。

C++版 - VS2008。选择快速一项为测试K,不选择为测试J。

测试结果(毫秒):

图像2,大小:1845×611

H: 31 29 36 32

I: 10 10 10 10

J: 39 33 33 30

K: 9 8 8 8

图像3,大小:3888×2592

H: 195 194 194 195

I: 53 52 51 52

J: 220 218 218 222

K: 41 42 41 41

结论:

C#下图像开发在性能上是很给力的!还在犹豫什么呢?WPF强大的UI交互功能(Layout,缩放,控件体系……)结合C#/Unsafe高效的性能,是一套超级无敌的技术组合!在xp下WPF的性能还是有点杯具,呃呃呃,在Win7下,WPF是相当给力的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: