我买的micro 2440, 7寸屏幕的那种.
我们有一个程序在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慢三倍左右
测试程序下载目前别人的windows CE6.0都没有问题,A4平台和tc89系列的,,但就是我们的2440有问题,,,,
希望您们能够解决或者提出点思路.
同样的硬件,用您们的wince5.0系统就没有问题.