查看: 3363|回复: 0

RT1052+lvgl(1024*600)+fps<10问题

[复制链接]

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2022-2-18
发表于 2021-8-11 17:32:40 | 显示全部楼层 |阅读模式
[size=15.008px]配置
[size=15.008px]MCU: RT1052
[size=15.008px]OS: RTThread 4.0
[size=15.008px]LVGL:v7.10
[size=15.008px]LCD: 1024 x 600[size=15.008px]

[size=15.008px]大部分页面功能都能正常工作,FPS>20
[size=15.008px]因为客户要求,做了一个拖动的下拉效果,发现FPS直接降到个位数,想咨询下,如何优化LCD的性能
[size=15.008px]和LCD驱动相关的核心代码如下:
  1. ALIGN(64)  lv_color_t frame_buffer1[LCD_HEIGHT*LCD_WIDTH] SECTION("Cacheable");
  2. ALIGN(64)  lv_color_t frame_buffer2[LCD_HEIGHT*LCD_WIDTH] SECTION("Cacheable");
  3. lv_disp_buf_init(&disp_buf, frame_buffer1, frame_buffer2, LCD_HEIGHT*LCD_WIDTH);
复制代码

  1. void LCDIF_IRQHandler(void)
  2. {

  3.     uint32_t intStatus = ELCDIF_GetInterruptStatus(LCDIF);

  4.     ELCDIF_ClearInterruptStatus(LCDIF, intStatus);

  5.     //if (s_framePending)
  6.     {
  7.         if (intStatus & kELCDIF_CurFrameDone)
  8.         {
  9.                         //if(s_framePending)
  10.                                 s_frameCount++;
  11.                        
  12.             s_framePending = false;
  13. //                        if(dynamic_sem != NULL)
  14. //                                rt_sem_release(dynamic_sem);
  15.         }
  16.     }
  17.     __DSB();
  18. }

  19. static void lcd_fb_flush(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
  20. {
  21.     int x1, x2, y1, y2;
  22.        
  23.         DCACHE_CleanInvalidateByRange((uint32_t)color_p, LCD_WIDTH * LCD_HEIGHT * 2);

  24.         ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p);
  25.        
  26.         //rt_sem_take(dynamic_sem, RT_WAITING_FOREVER);
  27.        
  28.         s_framePending = true;
  29.         while(s_framePending)
  30.                 ;
  31.     lv_disp_flush_ready(disp_drv);
  32. }
复制代码
当前软件的效果

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-17 09:40 , Processed in 0.108610 second(s), 19 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表