WINCE下BitBlt效率比较低,有什么方法提高速度

jason_gw 2012-10-18 12:03:35
加精
一副800*480的位图,要消耗100多MS的时间,查找资料后个人认为是因为位图与设备不兼容,需要转换。

我现在这样考虑,创建一个与设备兼容的位图,然后直接对位图内存数据区读写运算,现在问题是如何才能对这个位图数据区读写。
...全文
6386 96 打赏 收藏 转发到动态 举报
写回复
用AI写文章
96 条回复
切换为时间正序
请发表友善的回复…
发表回复
ao929929fei 2013-12-20
  • 打赏
  • 举报
回复
双缓存肯定是需要的 1.将图片加载进来,buffer1 2.创建一份buffer2,16位,24位,32位都试一下 3.将buffer1贴到buffer2中,可能需要转换一下 4.调用Bitblt贴进去 看看是16位的快还是24位的快
  • 打赏
  • 举报
回复
支持一下!!
LAONINGA098 2012-11-16
  • 打赏
  • 举报
回复
支持一下!!
金笛子 2012-11-16
  • 打赏
  • 举报
回复
这个帖子一定要顶
huhansan07 2012-11-15
  • 打赏
  • 举报
回复
支持一下!!
huhansan07 2012-11-15
  • 打赏
  • 举报
回复
支持一下!!
hg2980986 2012-11-12
  • 打赏
  • 举报
回复
ououpp 2012-11-11
  • 打赏
  • 举报
回复
你可以试试486CPU,比你那老掉牙286强多了。 钱够吗,不够去火车站摆个牌子“程序员卖屁股10元”
woshixwlxm 2012-11-10
  • 打赏
  • 举报
回复
ok~~~~~~~~~~~~~~~~
ruf 2012-11-09
  • 打赏
  • 举报
回复
引用 63 楼 flyound 的回复:
Alpha运算的时候再考虑下指令的优化,减少不必要的指令消耗,比如原先的循环需要进行800*480次才能完成一整屏幕的运算,你可以一次试试4个点的Alpha运算,这样循环次数就减少到了200*120次。
同志,也来csdn灌水?
a1015795893 2012-11-09
  • 打赏
  • 举报
回复
来逛逛...
inshua 2012-11-09
  • 打赏
  • 举报
回复
要用 rgb565
y_h_a_80_w 2012-11-08
  • 打赏
  • 举报
回复
再回头,还是不懂
无趣 2012-11-08
  • 打赏
  • 举报
回复
很专业的帖子,赞。
dzq138 2012-11-07
  • 打赏
  • 举报
回复
这个还是在内存里做好快些. BitBlt不可能太占内存的. // 对BYTE数组进行Alpha混和 里的运算尽量不要用除法.用移位会快很多.
xidike 2012-11-07
  • 打赏
  • 举报
回复
支持一下!!
wenlala 2012-11-06
  • 打赏
  • 举报
回复
学习了,支持一下!
马中马 2012-11-06
  • 打赏
  • 举报
回复
Alpha运算优化,学习一下!
liangxd09 2012-11-06
  • 打赏
  • 举报
回复
用16位图片,兼容RGB565方式打开,几ms就可以完成bitblt
xqhrs232 2012-11-06
  • 打赏
  • 举报
回复
今天弄了一下那个16位的ALPHA加速算法,真的是提速不少了啊!原来ALPHABLEND一张800*480的32位位图要近200MS,自己写ALPHABLEND函数调那个16位的ALPHA加速算法,现在ALPHA一张800*480的16位位图才40MS的样子。
加载更多回复(54)

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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