|
void LCD_L0_DrawBitmap ( int x0, int y0, int xsize, int ysize,
int BitsPerPixel, int BytesPerLine,
const U8* pData, int Diff,
const LCD_PIXELINDEX* pTrans)
{
int i;
switch (BitsPerPixel)
{
case 1:
DrawBitLine1BPP(x0, i+y0, pData, Diff, xsize, pTrans);
break;
case 2:
DrawBitLine2BPP(x0, i+y0, pData, Diff, xsize, pTrans);
break;
case 4:
DrawBitLine4BPP(x0, i+y0, pData, Diff, xsize, pTrans);
break;
case 8:
DrawBitLine8BPP(x0, i+y0, pData, xsize, pTrans);
break;
case 16:
DrawBitLine16BPP(x0, i+y0, (U16*)pData, xsize);
break;
case 24:
DrawBitLine24BPP(x0,i+y0,(U32)pData,xsize);
break;
}
}
问题1:
那个DrawBitLine1BPP()很费解,搞不懂神马地方使用它。RGB565或RGB888模式下,把它注释掉后界面上的文本都不显示了。。。。。。
我现在想把UCGUI里那些稀奇古怪的颜色模式去掉,只保留8位、16位、24位颜色模式,这样按理说就只需要DrawBitLine8BPP() 、DrawBitLine16BPP()、和DrawBitLine24BPP()对吧??
问题2:
F429外扩了一块2M字节的SRAM,型号是IS61WM102416,RGB888模式,不使用DMA2D,底层也没优化,UCGUI刷色块速度是2百多万;
使用DMA2D加速,只开一层,无缓冲区,就R2M模式下,通过DMA2D填充矩形和画横竖线,速度是1千6百多万,但这龟速还是没法跟你们的8千多万相比啊。。。。。。。
难道你们的SDRAM比我的SRAM快?? |
|