arduino / arduino/ArduinoCore-mbed

Tearing Effect - Arduino Giga Display

Open
#796 1 comment 0 reactions 0 assignees View on GitHub
Video
Dominant language
C
Stars
411
Forks
225
PR merge metrics
No merged PRs in 30d

Description

Hey, I've had the Arduino Giga Display for a few days now.

I'm trying to get it to work with the LVGL example.
I have created a screen with two buttons. The screen is scrollable.
When I scroll the screen, there is a tearing effect.

![Alt Text](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExcGd0Y3E5azVpZnZzMGF4cmNnb281ZWhnNjJ1dGk3ZjF4d2pzbm13ZiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/bKv7LlzRLbc6sbGQCt/giphy.gif)

I would like to eliminate the tearing effect.

I have already enlarged the buffer and added a double buffer.
lv_conf.h
`#define LV_MEM_SIZE (256U * 1024U)`

Arduino_H7_Video.cpp
```static lv_color_t * buf1;
static lv_color_t * buf2;
buf1 = (lv_color_t*)malloc((width() * height() / 4) * sizeof(lv_color_t));
buf2 = (lv_color_t*)malloc((width() * height() / 4) * sizeof(lv_color_t));
lv_disp_draw_buf_init(&draw_buf, buf1, buf2, width() * height() / 4);
```

I have also activated the DMA2D (aka Chrom Art) GPU.
lv_conf.h
```/*Use STM32's DMA2D (aka Chrom Art) GPU*/
#define LV_USE_GPU_STM32_DMA2D 1
#if LV_USE_GPU_STM32_DMA2D
/*Must be defined to include path of CMSIS header of target processor
e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
#define LV_GPU_DMA2D_CMSIS_INCLUDE
#endif
```

What else can i do to eliminate the tearing effect?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the LVGL example and inspect Arduino_H7_Video.cpp alongside the buffer settings in lv_conf.h. Reproduce the tearing while scrolling the screen, then verify that the display renders without visible tearing after the relevant buffering or display-transfer change.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.