cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX 4.20 issue with slide transition

TDele.1
Associate III

I've recently updated with no major issue my TouchGFX project from 4.18.1 to 4.20.0.

The screen behaves like before with one major exception: all the slide transitions have become way slower and laggy now with the new version.

When previously with 4.18.1 moving between 2 views with a lot of widgets took something like 1 second in 20 frames (which is fine in this application), it now takes randomly from 3 to 5 seconds in 2-3 frames.

I don't know why those transitions appear to be way slower now since every other animation in the project (including gifs and scroll list) appear unchanged.

I've look through all that has been modified in the project after the update and I cannot find something that would explained the laggy transitions. What could explain this and what should I do to at least get the animation speed of the previous version ?

1 ACCEPTED SOLUTION

Accepted Solutions
BSKOV.1
Associate

Hello TDele.1

I'm looking into this and I was hoping you could do a test for me.

Below you will find a code modification that I would like you to implement and then run your application again.

In the Container.cpp we have this method:

void Container::invalidateContent() const
{
   Drawable* d = firstChild;
 
   while (d)
   {
       d->invalidateContent();
       d = d->nextSibling;
   }
}

Please modify the method and add Container.cpp to your project so it is compiled into your application:

void Container::invalidateContent() const
{
   Invalidate();
}

Looking forward to hearing from you.

Best regards

Brian

View solution in original post

7 REPLIES 7
wired
Senior III

What is a lot of widgets? I have 25+ widgets on some screens, and I don't see any noticeable difference between those screens and screens having just a few widgets, e.g. button menus. I am not using Slide transitions, however, but Wipe transitions. Have you tried other transition types to see if you have a similar problem?

With the most loaded screen, I have about 30 widgets, most of them being custom containers (so containing themselves a lot of other widgets). The views are pretty heavy put this never posed any issue with the previous TouchGFX 4.18.1 version where the slide transitions are working as expected.

The other transitions I use (being wipe and none) are indeed the same speed as before. I cannot use them everywhere although because the screen are meant to be visually linked to each over (this is why I use slide transitions).

Sounds like ST needs to take a look at this, then.

Hello TDele.1,

Can you give more information about your configuration please ?

  • Which board do you use ?
  • Do you use a specific compiler ? (for example EWARM or STM32CubeIDE...)

Is it possible for you to attach your project that works under 4.18.1 and the same with the 4.20.0 ? Then I can do the performance comparison.

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX
BSKOV.1
Associate

Hello TDele.1

I'm looking into this and I was hoping you could do a test for me.

Below you will find a code modification that I would like you to implement and then run your application again.

In the Container.cpp we have this method:

void Container::invalidateContent() const
{
   Drawable* d = firstChild;
 
   while (d)
   {
       d->invalidateContent();
       d = d->nextSibling;
   }
}

Please modify the method and add Container.cpp to your project so it is compiled into your application:

void Container::invalidateContent() const
{
   Invalidate();
}

Looking forward to hearing from you.

Best regards

Brian

TDele.1
Associate III

Sorry for the delay but i finally got back to it.

About attaching my project, the simulation feature of touchGFX has never worked for me in the past and except if you have the custom board that I am using, it won't be possible for you to even launch it.

I have performed, as you asked, the following changes in the Container.cpp:

void Container::invalidateContent() const
{
    invalidate();
}

I have then added the file into the project explorer which changed the CRC value as a way to know that it was indeed modified. Next, I try to relaunch the project and it indeed corrected my issue and it works at the exact same speed as before now.

Hello TDele.1

Thank you for your reply.

I'm able to reproduce the issue, but not with this significant degradation you describe (1s -> 5s for a transition). If it is possible, I would like to see which widgets you are using and how many. Can you provide your ScreenViews?

I don't need to be able to run your application, just see what you use and how many.

Your help is appreciated.

Best regards

Brian