WINCE之绘图显示效率对比

原创 2011年01月11日 11:06:00

  

 

GDI操作过程:往窗口的DC上以红绿蓝三种颜色分别画255根渐变的竖线。如图

 

显示结果:

设备兼容位图DDB:BitBlt use tickcount is 13
DIB位图(格式不兼容):StretchDIBits use tickcount is 184 
rgb565 DIB位图: 16BPP StretchDIBits use tickcount is 12
RGB565 DIB位图: 16BPP BitBlt use tickcount is 13
直接写屏:FrameBuffer use tickcount is 9

 

结论:创建DDB位图与DIB位图,在贴图时的速度是一样的。唯一区别就是如果创建的DIB位图必须要与驱动里的位图格式一样,包括BIT_MASK的格式一样,也就是驱动里为RGB565的格式,应用里创建的位图也应该是RGB565的DIB位图,否则在BITBLT时驱动里会做一个RGB的转换,导致画图速度很慢,而创建DDB位图是不存在这种问题的,在速度上是不会慢的。

 

全部GDI操作的时间统计结果(只包括GDI操作,创建画笔,MOVETOEX,LINETO,SelectObject,BitBlt等,不包括位图创建,DC创建等):

BitBlt use tickcount is 443
StretchDIBits use tickcount is 610
 16BPP StretchDIBits use tickcount is 438
 16BPP BitBlt use tickcount is 439
FrameBuffer use tickcount is 116

 

结论:使用GDI时,前四种情况下的速度是一样的,与位图的格式无关,只是使用BitBlt时会因为位图格式不兼容造成很大性能损失。

但是如果使用直接写屏的操作可以把简单的GDI函数调用转换为纯粹的内存赋值操作,这种操作可以省掉很多时间。实际上可以用DIB位图来进行这种操作,直接针对DIB位图的内存数据写值来实现GDI的操作。

把16BPP的BitBlt修改为直接内存写值的操作,时间结果为:

BitBlt use tickcount is 442
StretchDIBits use tickcount is 611
 16BPP StretchDIBits use tickcount is 441
 16BPP BitBlt use tickcount is 106
FrameBuffer use tickcount is 104

由此可见,这种情况下与直接写屏的效率是一样的,对于频繁的GDI操作绘图,重写GDI的API调用可以节省不少的时间,前提就是使用与显示驱动兼容的DIB位图,然后直接对位图数据写值。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

WINCE之绘图显示效率对比

文章来源:http://blog.csdn.net/zjh824/article/details/6128554 [cpp] view plaincopy ...

点阵屏上绘图——基于LCD12864 控制详解

本文引用自:http://blog.csdn.net/s3c44b0x/article/details/7498706 点阵屏上绘图——基于LCD12864 控制详解 2009年04月10日 星...
  • Airbnb
  • Airbnb
  • 2015年04月17日 11:46
  • 2374

WINCE双缓冲绘图 Win32和MFC

WINCE双缓冲绘图 Win32和MFC

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

WINCE的控件背景透明、渐变的个人小结

     元旦到了,首先祝各位新年快乐!元旦前的这个星期学习的资料和小结,希望对大家有用。欢迎拍砖!补上参考例子下载地址(forfree):http://hi.csdn.net/link.php?ur...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

wince简单绘图

标题:wince简单绘图 摘要:直线,矩形,椭圆,多边形等简单图形的绘制 备注:Windows CE + VS2005 日期:2010.4.27 ===================...
  • softn
  • softn
  • 2012年08月27日 09:54
  • 253

wince 画图效率测试

  • 2012年04月27日 10:08
  • 351KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WINCE之绘图显示效率对比
举报原因:
原因补充:

(最多只允许输入30个字)