LVGL屏幕旋转问题

各位老师好,我现在使用LVGL做开发,屏幕默认480x640竖屏,想做横屏使用。设置如下屏幕旋转,然后设置屏幕缓存buf是10倍的水平像素大小,屏幕刷新卡顿,请问这是什么原因呢?

display_driver.sw_rotate = 1;
display_driver.rotated = LV_DISP_ROT_90;

如果屏幕无法旋转的话,有没有什么方式可以实现旋转画面中的文字,可以实现竖屏的方式开发横屏界面?

LVGL的屏幕旋转功能属于软件旋转,对于CPU的开销比较大,如果在未使用软件旋转时就不是很流畅,那么不建议使用LVGL的旋转接口。

根据lvgl官方文档的原文说明,建议使用硬件旋转: http://lvgl.100ask.net/8.2/porting/display.html#rotation

也就是只设置:

display_driver.rotated = LV_DISP_ROT_XXX;

之后我们处理好屏幕的硬件旋转(显示方式)部分。

如果后续需要在UI中触发旋转效果,也是这两个步骤:

  1. 设置 display_driver.rotate 的值
  2. 设置屏幕显示方向

老师好,您说的硬件旋转设置

display_driver.rotated = LV_DISP_ROT_XXX;

之后,处理屏幕的硬件旋转部分是什么意思?是需要在disp_flush函数中进行配置么?需要如何配置呢?有没有相关的例程?有点不太明白您说的”屏幕硬件旋转(显示方式)部分“是什么意思?还有就是硬件旋转对屏幕缓存设置方式有什么要求么?

这个问题,后续会在Yao-Mio上给出案例: 【众筹开始啦】满50人直接开搞!百问网DShanMCU-Mio开源掌机(爻-澪)项目,完美支持运行10多个模拟器!

这个旋转问题困扰我很久了,请问这个案例有没有计划什么时候会出呢?

Yao-Mio上架之后