呵呵,我那个问题早已经解决了。
我这里是在WINCE6.0平台下的:
Bitblt的优化:打开显示驱动的precomp.h,里面有个G2D_ACCELERATE,这个是是否使用
三星2D加速的总开关,关闭它,Bitblt可以优化到9MS的样子,不关大概
20到30MS的样子吧!
alphablend: precomp.h中,打开G2D_ACCELERATE,针对alphablend的宏设置如下:
- #define G2D_BYPASS_HW_ALPHABLEND (FALSE) //ture
- /// Below is suboption
- /// In our HW PPA feature has different bleding equation to SW.
- #define G2D_BYPASS_PERPIXEL_ALPHABLEND (FALSE)
- /// In our HW SCA feature does not change alphavalue, so this can lead to test fail when repetive alphablending.
- #define G2D_BYPASS_SOURCECONSTANT_ALPHABLEND (FALSE)
- /// This will run HW Bitblt twice, one for SCA and other for PPA, The result has incorrect alphabit
- #define G2D_BYPASS_2STEP_PROCESS_PPA_AFTER_SCA (FALSE)
设置好后重编显示驱动更新NK,alphablend可由原来的38MS变到2到4MS的样子。
STRETCHBLT的设置:同样在precomp.h里面,打开G2D_ACCELERATE,将G2D_BYPASS_HW_STRETCHBLT设置为0,可由原来的200MS左右的时间优化为14MS左右。