根據(jù)客戶的需要,我們公司的GPS產(chǎn)品決定采用WINCE6.0操作系統(tǒng),采用基于長高的WINCE6.0+S3C2443的BSP包來開發(fā),就系統(tǒng)速度這個(gè)問題做了以下測試:
測試硬件和軟件
硬件:
同一塊板子,LCD是800*480分辨率的
軟件:
同是TCPMP0.81版本的視頻播放軟件
測試:
1. 在板子上運(yùn)行長高的WINCE5.0系統(tǒng),使用TCPMP0.81版本進(jìn)行benchmark測試(用GDI格式),得到的Average Speed =100.48%
2. 在板子上運(yùn)行長高的WINCE6.0系統(tǒng),使用TCPMP0.81版本進(jìn)行benchmark測試(用GDI格式),得到的Average Speed =72.18%
問題:
為什么在同一塊板子上運(yùn)行同一個(gè)視頻播放軟件,測試出來的Average Speed的值會差這么多,而且反而是WINCE5.0的NK的播放速度更快(100.48%>72.18%)
我在測試過程中發(fā)現(xiàn)以下問題:
在5.0的系統(tǒng)開機(jī)后第一次運(yùn)行TCPMP時(shí),這個(gè)視頻播放軟件很快就加載起來了(運(yùn)行起來),而在6.0的系統(tǒng)開機(jī)后第一次運(yùn)行TCPMP時(shí),要等大概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------------>>>
根據(jù)我的分析,至于為什么會出現(xiàn)WINCE5.0的NK的播放速度對6.0下的快這個(gè)問題,我想問題在以下部分:
1. TCPMP0.81不能很好的兼容WINCE6.0,這需要TCPMP針對WINCE6.0做一些修改和移植。
2. 可能WINCE6.0的BSP包的顯示驅(qū)動沒有完善好