Replies: 26 comments
-
@sukesh-ak This is my code in arduino and it works fine. I don't know if it is suitable for use in IDF |
Beta Was this translation helpful? Give feedback.
-
@sukesh-ak Sorry to bother you, I'm sure you know, but I still want to remind you to modify the code in this file |
Beta Was this translation helpful? Give feedback.
-
@modi12jin Short story: Initially when I started on this project I had only one board Since I was waiting for more boards with different controller interface and also waiting for IDF 5.0 release, I put this task for later. Main reason was that with static buffer and with Wi-Fi provisioning, I was hitting either stack overflow or out-of-memory errors. This is taken care of now with ESP32-TUX/sdkconfig.defaults.esp32 Line 3 in c057730 I have 4 boards with different interface. 2 - SPI, 1 - 8Bit and 1 - 16Bit.
Arduino is I believe this should be using if(tft.getStartCount()==0)
{
tft.endWrite();
} Will push an update with DMA changes though I don't see any performance changes for now. What board are you using and what FPS are you getting on it? |
Beta Was this translation helpful? Give feedback.
-
I use SC01-Plus, using LVGL test frame example can reach more than 100 average frames If you encounter the problem of insufficient flush, I can tell you that I know SC01-Plus manufacturer, they have changed to 16MB version flush My youtube channel shows me using SC01-Plus |
Beta Was this translation helpful? Give feedback.
-
Thanks for the link. Looks amazing but guess you are using I am in touch with the manufacturer as well. Thanks for the offer. Will keep this open as a task for performance tuning. |
Beta Was this translation helpful? Give feedback.
-
@modi12jin |
Beta Was this translation helpful? Give feedback.
-
I only test LovyanGFX (40MHZ, enable DMA, SRAM. Using psram will affect the frame rate, I believe you know the reason, so it is recommended to use OSPI interface PSRAM) to test the frame rate using the example that comes with LVGL, and not using the LovyanGFX example to test the frame rate. Using Chen Liang's minitv code, and replacing it with LovyanGFX, I can achieve 19FPS, use psram, and use dual-core to handle decoding and screen and audio
Since 2MB of PSRAM is a QSPI interface, if 8MB becomes an OSPI interface, it may be necessary to redraw the circuit board. |
Beta Was this translation helpful? Give feedback.
-
grateful |
Beta Was this translation helpful? Give feedback.
-
I switched back to static buffer without the dynamic alloc to PSRAM. But no difference in FPS. I think the slowness might be due to enabling multi-task support for the display with |
Beta Was this translation helpful? Give feedback.
-
RGB interface |
Beta Was this translation helpful? Give feedback.
-
Thanks for the link. This will make it easier to add dependency and get it working quickly for new projects. |
Beta Was this translation helpful? Give feedback.
-
@sukesh-ak Espressif is developing a chip with jpeg hardware decoding, but it is unclear when it will be released |
Beta Was this translation helpful? Give feedback.
-
Hope it comes soon. I also noticed that IDF has a compile option for linux. Not checked it out yet. ELF file is already being created anyway. |
Beta Was this translation helpful? Give feedback.
-
It may be prepared for ESP64, I confirmed the existence of this on Twitter and IDF GitHub |
Beta Was this translation helpful? Give feedback.
-
Do you mean that the lower right corner of LVGL is always frame 33? |
Beta Was this translation helpful? Give feedback.
-
@modi12jin /*1: Show CPU usage and FPS count*/
#define LV_USE_PERF_MONITOR 1
#if LV_USE_PERF_MONITOR
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
#endif |
Beta Was this translation helpful? Give feedback.
-
33 This number is calculated independently It means that only the frame rate in the lower right corner is calculated LVGL supports partial refresh |
Beta Was this translation helpful? Give feedback.
-
Interesting. The display works well with my project. Need to create simple samples for each board to test the speed in near future. |
Beta Was this translation helpful? Give feedback.
-
Interesting. The display works well with my project. @sukesh-ak I can't give the reason why LVGL will be stuck when starting the image, because I am not an LVGL expert |
Beta Was this translation helpful? Give feedback.
-
What do you think on porting the project to other platforms? |
Beta Was this translation helpful? Give feedback.
-
@sukesh-ak Consult Chen Liang, his tips for you |
Beta Was this translation helpful? Give feedback.
-
Thank you for the tip. It was mentioned in the tweet by Lovyan. It changes the FPS since it calculates according to that. But performance wise not much changes visible. I had it set to 16 earlier and reverted because it showed 60FPS but screen looked with similar perf. I have set to 5 now. Will see if it makes any difference in real experience. |
Beta Was this translation helpful? Give feedback.
-
@sukesh-ak Chen Liang has recorded a video explaining it |
Beta Was this translation helpful? Give feedback.
-
Thank you. |
Beta Was this translation helpful? Give feedback.
-
You can increase the size of the buffer to see if there is any improvement |
Beta Was this translation helpful? Give feedback.
-
I will write a smaller sample or use lvgl benchmark sample for comparison. |
Beta Was this translation helpful? Give feedback.
-
@sukesh-ak I saw the code to start DMA in your code, I wonder why you didn't start it?
Beta Was this translation helpful? Give feedback.
All reactions