关于UI制做

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

今天测试了下,通过GetTickCount得到显示我的程序主页面(480x640采用Biblt)用了300ms,
在一个CreateTImer建立的1S定时器,如果不显示UI(即屏蔽Biblt)周期一般为1000 tick,如果显示UI(即采用Biblt显示UI)周期变为1300个TICK,如果在加上往DC写字,周期成了1400~1500tick
这样直接造成我主程序的1S定时延长了500ms左右...
大家能帮我分析下吗???? 那些很炫的UI是怎么做的呢?应该就是贴图方式吧
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkhraul 2009-08-05
  • 打赏
  • 举报
回复
bitblt 一幅800x480的图确实用了近300ms
beyondma 2009-08-05
  • 打赏
  • 举报
回复
300MS?!
sevenzhy 2009-08-04
  • 打赏
  • 举报
回复
看来偶也得学学DDRAW了
载舟之水 2009-08-04
  • 打赏
  • 举报
回复
DDRAW实际上是将写显存和GDI函数混合使用了,而且支持overlay和flip,不需要创建一大堆memory dc,所以能节省一大半时间。
  • 打赏
  • 举报
回复
显然,DDRAW的性能要好得多
zerocnd 2009-08-03
  • 打赏
  • 举报
回复
很想知道在mtk上是如何直接操作显存的

ddraw是可以直接操作显存的,拷屏速度大概快一倍吧,

bitblt大概300ms,ddraw可以150ms, 可以在网上找下,有代码的

dina656 2009-08-03
  • 打赏
  • 举报
回复
不懂,帮顶。
zkhraul 2009-08-01
  • 打赏
  • 举报
回复
另外,我这套UI采用上述方法在240x320显示还算可以,所以以前就一直用这方法,现在碰到分辨率大的,没办法了,唉,困了好几天没办法解决,但发现人家灵图的UI在480x640照样显示很顺畅啊,而且UI很炫,他们不可能是用DDRAW这些做的吧。
peterb 2009-07-31
  • 打赏
  • 举报
回复
没有去深入研究, 等熟悉的人来回答

7,657

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧