当前位置: 代码迷 >> WinCE >> WINCE上BitBlt效率比较低,有什么方法提高速度
  详细解决方案

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

热度:68   发布时间:2016-04-28 12:28:56.0
WINCE下BitBlt效率比较低,有什么方法提高速度
一副800*480的位图,要消耗100多MS的时间,查找资料后个人认为是因为位图与设备不兼容,需要转换。

我现在这样考虑,创建一个与设备兼容的位图,然后直接对位图内存数据区读写运算,现在问题是如何才能对这个位图数据区读写。

------解决方案--------------------
关于提高AlphaBlend效率的思考----http://blog.csdn.net/xqhrs232/article/details/8113092

提高AlphaBlend效率的实际验证----http://blog.csdn.net/xqhrs232/article/details/8113090
------解决方案--------------------
哈哈,LZ算是遇到人了,这个问题我解决过。
位图拷贝分两种的,一种是兼容位图,另一种是非兼容位图,区别在与前一种是在显示驱动和GDI中分配的,是非分页的内存,可以访问到物理地址,第二种大部分是在应用中分配的,访问不了物理地址。

兼容位图可以使用硬件加速,如果你的平台有,而且微软的兼容位图拷贝速度还将就。

非兼容位图就不行了,对于这种方法,我们的解决策略是:

对于ARM9平台,用自己写的C函数代替WinCE的BitBlt,是基于BSPDISP类的BltPrepare框架的
对于ARM-A8平台,使用A8的NEON汇编语句进行优化,原理还是基于BSPDISP类的BltPrepare框架

因为现在做Android,WinCE好久没弄了,不过当时也是参考了TI的OMAP BSP了的,我们的芯片和TI的芯片一样,也是A8,这个BSP网上应该比较好找
  相关解决方案