根据客户的需要,我们公司的GPS产品决定采用WINCE6.0操作系统,采用基于长高的WINCE6.0+S3C2443的BSP包来开发,就系统速度这个问题做了以下测试:
测试硬件和软件
硬件:
同一块板子,LCD是800*480分辨率的
软件:
同是TCPMP0.81版本的视频播放软件
测试:
1. 在板子上运行长高的WINCE5.0系统,使用TCPMP0.81版本进行benchmark测试(用GDI格式),得到的Average Speed =100.48%
2. 在板子上运行长高的WINCE6.0系统,使用TCPMP0.81版本进行benchmark测试(用GDI格式),得到的Average Speed =72.18%
问题:
为什么在同一块板子上运行同一个视频播放软件,测试出来的Average Speed的值会差这么多,而且反而是WINCE5.0的NK的播放速度更快(100.48%>72.18%)
我在测试过程中发现以下问题:
在5.0的系统开机后第一次运行TCPMP时,这个视频播放软件很快就加载起来了(运行起来),而在6.0的系统开机后第一次运行TCPMP时,要等大概30s中才能加载起来,而且有如下的串口输出信息:
Exception 'Undefined Instruction' (1): Thread-Id=084e0002(pth=83c29270), Proc-Id=084d0002(pprc=83c0f024) 'PLAYER.EXE', VM-active=084d0002(pprc=83c0f024) 'PLAYER.EXE'
PC=4170b6c8(common.dll+0x0004b6c8) RA=416f9f40(common.dll+0x00039f40) SP=0003fba8, BVA=00000000
OALIoCtlHalGetDeviceInfo():SPI_GETPLATFORMNAME
OALIoCtlHalGetDeviceInfo():SPI_GETOEMINFO
+GetGameXInfo
Stride=1600, Width=800, Height=480, FrmaeBuffer=d2e20000
-GetGameXInfo
Exception 'Data Abort' (4): Thread-Id=084e0002(pth=83c29270), Proc-Id=084d0002(pprc=83c0f024) 'PLAYER.EXE', VM-active=084d0002(pprc=83c0f024) 'PLAYER.EXE'
PC=416ffb44(common.dll+0x0003fb44) RA=416ffb3c(common.dll+0x0003fb3c) SP=0003fb10, BVA=d2e20000
In else------------>>>
根据我的分析,至于为什么会出现WINCE5.0的NK的播放速度对6.0下的快这个问题,我想问题在以下部分:
1. TCPMP0.81不能很好的兼容WINCE6.0,这需要TCPMP针对WINCE6.0做一些修改和移植。
2. 可能WINCE6.0的BSP包的显示驱动没有完善好