2021-07-06 03:04 AM
Hello,
I'm currently developing a project using Touchgfx on a custom board with a STM32F469II, external RAM/FLASH, SD card and a 1024x600 screen.
I've recently come across an issue when performing any animation (slide screen transition, scrollable container, box/circle progress, ...) where the screen shakes like crazy (see video) and also during a small moment after.
Any movement seem to be able to trigger this issue and the only way I've found to stop it is to disable chrom-art but then the frame rate drops down to about 15 fps when performing those animation.
Does anyone know what's causing this shaking ? And if so, how can I limit it as much as possible ?
Thanks in advance,
Tristan
2021-07-06 11:18 PM
Take a look at https://community.st.com/s/feed/0D53W00000uWVawSAG. Looks like similar problem...
2021-07-07 01:56 AM
Thank you for the link. I've read the discussion and the application note and I've gathered the following possible problems :
Henceforth I'm still unsure to what's causing the jittering and how to fix it...
Tristan
2021-07-07 12:40 PM
That you can't use any of the possible improvements doesn't mean that you haven't exhausted the available resources/bandwidth.
JW
2021-09-24 06:12 AM
We have same issue on 469 have you any improvement ?
2021-09-24 06:39 AM
Not really a solution but if you disable the chrom-art, the jitter completely stops but the FPS might drop quite a lot during those animation.
A way to greatly reduce the jitter was, in my projet, to make sure that no screen buffer is shared between 2 banks on the external RAM. I wanted to save SDRAM space to put a bigger dynamic bitmap cache and thus I put the frame buffers as close as I could but I've found that doing this greatly impacts the screen stability. Instead, I've put the 2 frame buffers and the animation storage space in separate spaces (I've got a 8M SDRAM and each bank is 2M) and the jittering, while still there, was much bearable.
Eventually if nothing has worked so far, I've found that the jitter is really at its peak when either a scroll container is on the screen or you're performing a slide transition. If you drop those maybe it would prevent the screen from shaking.
I think this might be more of an hardware performance issue since I'm not using the speediest SDRAM/MCU with one of the bigger screen. Hopefully you might find a workaround that's fine for you but I've disable chrom-art and tried to limit my animations and it has worked so far.
Tristan
2021-09-24 07:07 AM
Just for info: I am using similar hardware and 32bit SDRAM @140MHz is busy at about 30% of bandwidth (screen is also 1024x600 @30MHz). Just for tests I have limited SDRAM bus down to 16 bits and display still was working fine
2021-09-24 08:26 AM
Which version TGFX? How you test it?
2021-09-24 08:28 AM
Both 4.16 and 4.17
Just set SDRAM bus width to 16 bit in STM32CubeIDE.
2021-09-24 08:47 AM
We use 16bit SDRAM @90MHz is max for F469
Seems loading boxes or next screen data in prepare stage double buffer in slow SDRAM corrupt LTDC DSI functionality and then image ...
I explain app started show ok first screen , then shake it some ms and start clean transition to second screen. On end transition next shake (i mean preload next screen ) and start transition . My test now use two screens and transition cover on end neverending setup only on interaction as when transition end switch to screen wit transition.
Tested on more versions TouchGFX and on both screens text and background. As i write when background is box or any box on screen then shakes is allways. When image on background animation looks ok but screen preloads NO.
:thumbs_down: