我用STM32F429移植了STemWin,显示控件、刷屏等各项功能都正常,从SD卡读取bmp、jpg、gif图片也能显示,就是速度很慢,大概1秒钟才能显示一张图800*480(全部读取到SDRAM再显示)。
但是单纯刷屏速度很快,不知道是程序解码本身就比较慢,还是我程序有问题,需要注意哪些?
void Show_BMP(const char *sFileName)
{
int XSize,YSize;
GUI_HMEM hMem;
char *acBuffer;
int i;
hMem = GUI_ALLOC_AllocZero(1024*2048);//申请一块内存空间 并清零
acBuffer = GUI_ALLOC_h2p(hMem);//将申请到的内存句柄转换为指针类型
result = f_open(&file,sFileName,FA_OPEN_EXISTING|FA_READ|FA_OPEN_ALWAYS);
if(result!=FR_OK)return;
result = f_read(&file,acBuffer,f_size(&file),&bw);
if(result!=FR_OK)return;
XSize = GUI_BMP_GetXSize(acBuffer);
YSize = GUI_BMP_GetYSize(acBuffer);
GUI_BMP_DrawScaled(acBuffer,0,0,50,100);
GUI_ALLOC_Free(hMem);
f_close(&file);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我知道,申请大一点也无所谓吧?难道这个有影响?
应该不是,我单步调试,从SD卡读取到SDRAM后,单纯运行显示函数也挺慢的
用NANDFlash是不是就快很多?
一周热门 更多>