根據客戶的需要,我們公司的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包的顯示驅動沒有完善好