是否可用DDRAW移植GUI显示??

zgy8864   2009-7-29 09:15 楼主
原来在MTK平台做过个程序,UI库用自己写的,所有显示都是通过直接操作显存,速度很快
但在WINCE上,为了移植方便,直接用DIB来替代显存,发现图片UI显示太慢,特别是用了矢量字体。
没研究过DDRAW,不知能不能改善我的问题

回复评论 (13)

可以

但速度上不会有什么提高
点赞  2009-7-29 11:51
不是说DDRAW是专门针对游戏做嘛,我原来UI显示都是组个BMP存到兼容DC,写字也是往兼容DC写,最后再一次的复制到DC,感觉这样慢了很多,查了文档说是DDRAW可以直接操作显示设备,应该会快很多吧
点赞  2009-7-29 21:45
顺便说下,我设备的分辩率是800x600的,我UI贴图的方式是读BMP的数据写入DIB指针
点赞  2009-7-29 22:21
gdi应该 够快了
点赞  2009-7-30 00:26
DDraw要快一点,毕竟是直接操作显存
点赞  2009-7-30 08:24
很郁闷,看了DDRAW,原以为可以获得显存的指针,但发现还是只能用HDC调用GDI
点赞  2009-7-30 16:41
引用: 引用 6 楼 zkhraul 的回复:
很郁闷,看了DDRAW,原以为可以获得显存的指针,但发现还是只能用HDC调用GDI


是的,还是GDI
点赞  2009-7-30 17:24
帮顶……
点赞  2009-7-30 19:52
楼主 从MTK 转做 wince呢?
点赞  2009-7-30 20:34
引用: 引用 7 楼 91program 的回复:
引用 6 楼 zkhraul 的回复:
很郁闷,看了DDRAW,原以为可以获得显存的指针,但发现还是只能用HDC调用GDI



是的,还是GDI


但今天有看了文档,好象可以通过LOCK表面,直接操作指针....,谁懂的???
点赞  2009-7-30 21:46
如果硬件支持的话,用Direct3D 或者OPenGL做,会快很多吧
点赞  2009-7-31 08:37
直接写显存的速度会比写HDC快,但是关键还在于你的图像算法,你想提高速度,首先要确定哪个部分运行时间较多,然后再做具体优化
点赞  2009-7-31 12:47
今天测试了下,通过GetTickCount得到显示我的程序主页面(480x640采用Biblt)用了300ms,
在一个CreateTImer建立的1S定时器,如果不显示UI(即屏蔽Biblt)周期一般为1000 tick,如果显示UI(即采用Biblt显示UI)周期变为1300个TICK,如果在加上往DC写字,周期成了1400~1500tick
这样直接造成我主程序的1S定时延长了500ms左右...
大家能帮我分析下吗????
点赞  2009-7-31 15:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复