XuNeo commented on PR #12733: URL: https://github.com/apache/nuttx/pull/12733#issuecomment-2241036269
Hi @TimJTi , There are two issues with your current setup. I have explained a bit in https://github.com/lvgl/lvgl/issues/6389. ### Issue From the video, it looks like the arc head is flicking. This happens because LVGL's intermediate drawing result is sent to display by hardware LCD controller directly without waiting. The second issue is tearing. With single frame buffer, this will happen for sure. ### Solution LVGL has a special refreshing mode called PARTIAL mode. It allows LVGL to draw on a temporal buffer and memcpy to FB when it's really finished(thus no flicking). It can still suffer from screen tearing with single FB. Current LVGL NuttX porting(`lv_nuttx_fbdev.c`) does not support this mode. `lv_nuttx_lcd.c` has support but I have no experience using it. Instead of hacking into FB driver, we should upgrading `lv_nuttx_fbdev.c` to add support to PARTIAL mode. ### Multiple instance LVGL V9 introduces support for multiple instances, allowing multiple windows to run simultaneously. The server allocates virtual framebuffers to clients, which can be easily composed using the LVGL Image widget. Clients draw on the virtual FB and send update events to the server. The NX Graphic system sounds like a good candidate for managing the window framebuffers, and input events. The recent [LVGL QNX porting PR](https://github.com/lvgl/lvgl/pull/6507) has something similar that using QNX Screen window as a display. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
