-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Software rotation with esp_lvgl_port on ESP32-P4 with ILI9881C display #400
Comments
Hi @dmartauz thank you for reporting this issue. I will check it soon and fix it. The master branch is not using PPA yet, because after performance measurement, the SW rotation was faster than PPA because we are rotationg only small pieces of the whole screen. We are still working on improving performance and looking for the best solution. The PPA rotation is used in this PR: #352 |
@espzav any update on the fix? In the meantime I am porting my application from S3 with 800x480 parallel display. |
Hello @dmartauz, sorry for delay. I tried in on some screens and examples. In some cases, I see the issue and in some cases it was fixed by this change in LVGL port component: |
@espzav this change fixed the problem, I tried both 90 and 270 degree rotation. Is there any potential to speed up the software rotation? Screen redraw is now noticeably slower when changing tabs. I mean it is still ok (at least for our use-case) but it would be nice to mitigate it somehow. Are you sure PPA will not help? |
@dmartauz thank you for test it. I am happy that it is working. I will do more tests and I will release it soon. |
@espzav I have double buffer with size of V*H resolution (1280x800px) and |
@dmartauz Oh, have you got buffer in SPIRAM (
.buff_dma = true and .buff_spiram = false , I think it can be faster.For example we are using this size: 1280*50 in 1280x720 in internal RAM (not double buffer).
|
@espzav I have |
@espzav In case I set |
@dmartauz Oh yes, the DMA capable internal RAM is smaller. Then you can try to set smaller buffer and use DMA. It should be still faster. |
@espzav rotation buffer is allocated with the same size as primary buffer? |
@dmartauz yes |
Fix of the SW rotation was merged. Can we close this issue? |
Yes. I did full clean of my project and tested with 2.4.2. Rotation works as expected. |
Board
ESP32-P4-Function-EV-Board
Hardware Description
ILI9881C touchscreen display (8" 800 x 1280 pixels)
IDE Name
esp-idf/master
Operating System
Windows 10
Description
The display natively works in portrait orientation and it is displaying simple tabview. In this orientation it works well.
Because I want to use it in landscape orientation and it seems that ILI9881C does not support hardware rotation I am attempting to use
.sw_rotate = true
and after uncommenting last line of the code it seems that first rotated frame is drawn correctly but following frames have some offset (shifted LVGL FPS tracker).After clicking on the tabview also tabview buttons get shifted.
Is master branch of esp_lvgl_port already using PPA in case of ESP32-P4?
Sketch
Other Steps to Reproduce
No response
I have checked existing issues, README.md and ESP32 Forum
The text was updated successfully, but these errors were encountered: