Performance data for Scaling Operations are as follows, these are H/W Performance figures.Up scaling ~110MP/secDown scaling ~55Mp/secScaling with Alpha blending ~50Mp/secthis is the equn to caliculate mp/secfor example if you are doing a blit from Src 1280x720 to Dst 1280 x 720 then total number of pixel that u blit is ( 1280*720 = 921600 )suppose blit time is 9ms then MP/sec would be ==> 921600/9ms = (921600*1000)/9 p/Sec ==> 102.4 Mp/Sec9ms for 1280x720 means its giving ~102MP/secIdeally stretch should give close to ~110Mp/Sec
without alpha blending.Blit vs Stretch.[0,0,720,576]->[0,0,720,576][0000] [ALPHA:00] Blit [CB->SD] [0050F938]->[0050F900][0000,0000,0720,0576]->[0000,0000,0720,0576] 04 ms[0000] [ALPHA:00] Blit [CB->SD] [0050F938]->[0050F900][0000,0000,0720,0576]->[0000,0000,0720,0576] 08 msstretch[0,0,1280,720]->[0,0,1920,1080][0001] [ALPHA:00] Blit [CB->HD] [0050F954]->[0050F91C][0000,0000,1280,0720]->[0000,0000,1920,1080] 20 ms[0,0,1280,720]->[0,0,720,576][0002] [ALPHA:00] Blit [CB->SD] [0050F954]->[0050F900][0000,0000,1280,0720]->[0000,0000,0720,0576] 18 ms[0,0,720,576]->[0,0,1920,1080][0133] [ALPHA:00] Blit [CB->FB] [0123A400]->[0123A3C8][0000,0000,0720,0576]->[0000,0000,1920,1080] 12 ms[0,0,720,576]->[0,0,720,576][0134] [ALPHA:00] Blit [CB->FB] [0123A400]->[0123A3AC][0000,0000,0720,0576]->[0000,0000,0720,0576] 04 msno alpha vs Alpha blending:[004] [ALPHA:00] Blit [9000FEA8-9000F958] [CB->CB] [0000,0000,1280,0720]->[0000,0000,1280,0720] 09 ms[005] [ALPHA:16] Blit [9000FC00-9000F958] [CB->CB] [0000,0000,1280,0720]->[0000,0000,1280,0720] 17 ms
为什么为出现锯齿: 单BUFFER机制造成的,双BUFFER机制中,BLIT操作空闲BUFF,BLIT的过程用户不可见,等整个BLIT完成后,然后才把显示切换过来。
结论:
客户的应用对2D performance 要求非常高,目前测试的时间与2D硬件上设计的速度基本符合。只能从软件的架构上想办法。
找到了一种折中的解决办法,close this issue.