forgg009
驱动牛犊
驱动牛犊
  • 注册日期2010-03-03
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2167回复:1

CE6, 三星2440, CreateDIBSection/LCD驱动的问题,请大家帮忙测试一下,看是否您们的系统也有同样的问题

楼主#
更多 发布于:2010-03-03 18:47
这个问题并不是那么容易发现,表面上看起来好像没有问题一样. 如果您们对界面执行效率要求不高,也许根本就发现不了

环境三星2440, windows CE 6.0 800×480的分辨率.

我们有一个程序在windows CE 5.0下跑得很流畅,但同样的代码移植到三星2440的windows ce 6.0后发现界面很卡,而移植到A4方案上的机器上又不卡.

这个问题有些奇怪,之前也没有遇到过,我们怀疑过很多东西,甚至怀疑是不是windows CE 6.0系统本身的问题.

经过我们一点一点的分析,最后找到了问题的根源:
读写CreateDIBSection所关联的内存和读写new出来的内存效率差别很大.

代码示例:

//引用CreateDIBSection返回的内存
BYTE *pBmpData = NULL;
CreateDIBSection (NULL, pbmi, DIB_RGB_COLORS, (void**)&pBmpData, NULL, 0) ;

//引用new返回的内存
BYTE* pNewData = new BYTE[800*480*sizeof(DWORD)];


读写pBmpData和读写pNewData的效率差很多,大概读写pBmpData比读写pNewData慢三倍左右

我在csdn上发过一个贴子,可惜无人能解决,希望这边有更多的高手能帮下
大家帮帮忙,帮忙测试一下,看一下你们的2440的wince6.0是不是有同样的问题,谢谢!!

如果附件不能下载,下面的地址也可以下载
http://www.wceui.cn/blog/wp-content/uploads/test_createdibsection.zip
附件名称/大小 下载次数 最后更新
test_createdibsection.zip (2064KB)  5 2010-03-03 18:47
forgg009
驱动牛犊
驱动牛犊
  • 注册日期2010-03-03
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-03-03 18:49
thanks driverdevelop,让我这样新注册的也发贴,因为一直是搞应用的,不太熟悉这方面.

另不用在别的平台测试了,比如说A4,telechips,这些平台的ce6没有问题

只有三星的2440 + wince6.0才有问题, 三星2440 + CE5.0也没有这个问题
游客

返回顶部