画动画圆之使用 QT4.6/C#/MFC/DELPHI/VB/BCB 开发的程序性能测试报告

测试目标:绘制动画的速度,性能,资源耗用
============================
其他源码随后附上
测试内存位图大小都是 1280*768 像素的矩阵面积
| Name | Qt | C# | MFC | DELPHI | VB5 | C#(API) | win32 SDK | BorlandC++ |
|---|---|---|---|---|---|---|---|---|
| CPU | 50% | 50% | 24% | 50% | 30-40% | 25% | 28% | 28% |
| 内存 | 12MB | 25MB | 6MB | 6MB | 12MB | 12MB | 7MB | 5MB |
| 帧数fps | 92 | 20 | 58-62 | 40 | 40 | 62 | 58-62 | 64 |
| 备注 | 相当恐怖的帧数,只能说图形函数缓冲算法优化的好,相当赞 |
使用GDI+ 托管环境 |
使用BitBlt+GetClientRect做DBB | 使用Canvas 未测试WINAPI方式 |
■picturebox方式帧数只有10(未使用DBB) ■WINAPI直接画20帧左右(未使用DBB) ■使用DBB可以实现最高性能.帧数40 |
使用WINAPI之后速度猛增,超过VB(API)方式.和MFC/SDK方式持平 | 和MFC差不多,但是略微还慢那么一点点(??错觉??) | 和win32SDK相同.但是文件大小很大400K+ |
打包的EXE程序提供下载,自己行在自己电脑上对比速度 http://download.csdn.net/source/2630603
以上代码都是采用DBB双缓冲方式测试.都在win32平台运行,其中基于qt开发的程序尚未在linux上编译测试.
qt 优势,跨平台,性能难度平衡的不错;缺点:运行速度需要提升.
C# 优势,开发速度快;缺点:慢,庞大,臃肿.
MFC,优势,运行速度一流,内存占用小.
DELPHI给我的感觉是速度仅次于MFC和QT
VB在调用API之后速度猛升,仅次于DELPHI
SDK的不作讨论,MFC接近之.
综上调用API之后都差不多的速度....但是CPU占用是不同的.以此可以看出"胶合层"/"CodeCandy"的厚度.
最后排名
sdk(理论上,呵呵无敌的)
qt(这家伙底层貌似用了多核技术然后用汇编单独开发了套绘制API,帧数最高)
mfc
delphi/BCB
vb
C#
帧数计算采用单独的timer,因此不影响fps.
由此可以看出:
C#,美式风格,忽悠民众,优势不在于开发超stable型的应用程序,只能说强化了GC类产品的概念,个人觉得很不错,上升空间明显.
C,依然是龙头老大,中国院校很重视C,基础教育,很好,请坚持.
qt,欧式开发典范,非常个性,眼光独到.希望引擎方面再做优化,毕竟对于一款跨平台产品,相比是最好的了.
delphi和vb没研究过历史

浙公网安备 33010602011771号