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

测试目标:绘制动画的速度,性能,资源耗用

 

 

============================

 

其他源码随后附上
测试内存位图大小都是 1280*768 像素的矩阵面积
NameQtC#MFCDELPHIVB5C#(API)win32 SDKBorlandC++
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没研究过历史
 

posted on 2010-12-29 13:03  钢铁奏鸣曲  阅读(1122)  评论(0)    收藏  举报

导航