cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F7 LCD flickering peoblem

q123w123e123qweqwe
Associate III

Hi,

I'm working on a project with STM32F746 and touchGFX. When I move (use move mixing) some widget witch its alpha value isn't 255 or change screen, the screen is flickering. I'm using an external frame buffer(SDRAM) and I did LTDC layer settings as shown LCD's reference Manuel. I don't know where the problem is.

Here is a video that shows the problem: https://www.youtube.com/watch?v=lrhtPq7dJXs

And if you want my code's config part I can share.

ın first screen 800x480 (alpha = 0) flex button with a box coming screen. So I think the problem in here with alpha blending.

I also had same issue a mount ago and I fixed it by changing LCD's frequency but now it doesn't help. https://www.youtube.com/watch?v=0T0yGYekXSE

1 ACCEPTED SOLUTION

Accepted Solutions

Hello,

It's either changing MCU or changing the UI. You can have a look at the Cacheable Containers if it helps https://support.touchgfx.com/docs/development/ui-development/scenarios/achieving-better-performance-with-cacheable-container.

We always have to adapt the graphics and what we want to do according to the hardware we have at our disposal, so sometimes we have to find workarounds and modify the UI to ensure good performance. In your case, you can change MCU which could resolve the issue automatically. But both are solutions.

/Alexandre

View solution in original post

6 REPLIES 6
Alexandre RENOUX
Principal

Hello,

There's a lot of widgets on your screen which involves rendering most of the screen again. The alpha blending can indeed be an issue. Did you try to see how it behaves without alpha ? In this kind of case, it's a good habit to try and reduce the complexity of the UI to see if the flickering still happens.

If not, then it's probably a performance limitation that not even the increase of the clock can correct. Maybe trying on a more powerful MCU can be a solution (like a H7).

Also apparently you have quite a big screen (800x480) which also makes it more difficult for the MCU. In our Application Template for the F746G, we use a 480x272 display.

If you can, could you provide the UI, so that I can test on my side when I have the time ?

/Alexandre

Hi,

Thanks for your reply. I removed the widgets as you said and added a flex button with move animator (alpha value 150), 4 boxes and 2 buttons ( one is for calling flex button in and other is for changing screen) and flickering has gone. But I want you to watch this video so you can tell me if it's normal behaviour. I recorded in slow-mo and moving animation duration is 10ms.

So if it is normal, do I have to change the MCU or is there anything I can do instead?

I sent you the project link btw.

Hello,

I watched the video and everything looks normal to me. If I understand correctly, the effect of the screen becoming darker from left to right is the flex button that covers the entire screen and move from left to right and vice-versa depending on the button you click.

What's the effect you don't like in the video ?

/Alexandre

Yes, you understand correctly and there is nothing I didn't like. Just wanted you to see just in case. So do I have to change MCU for better performance on screen effects or is there anything I can do?

Hello,

It's either changing MCU or changing the UI. You can have a look at the Cacheable Containers if it helps https://support.touchgfx.com/docs/development/ui-development/scenarios/achieving-better-performance-with-cacheable-container.

We always have to adapt the graphics and what we want to do according to the hardware we have at our disposal, so sometimes we have to find workarounds and modify the UI to ensure good performance. In your case, you can change MCU which could resolve the issue automatically. But both are solutions.

/Alexandre

Okey Alexandre thanks for your help.