MicroUI Animation Example doesn't work on STM32F746 target

,

Hello,
I’m new to MicroEJ and want to evaluate its GUI solution,
I have few more question which I’ll ask in other topics soon;

For now I tried to run few examples from this page on my STM32F746G-Disco board, as result all of them will run without any problem except one, that is this: “AnimationSampleWithFullRepaint.java
This one is a simple animation which moves MicroEJ logo from left to right and vice versa, It is working alright when I use the simulator, but on the target, MicroEJ logo not moves and stays fix in the center.
I want to design a simple demo with MicroEJ and need animations in it, So I have to solve this issue first.

Btw I downloaded my Platform sources from here
And I’m using ARM Cortex M7 ARMCC v7.11 as Architecture.

I’ll be thankful if anybody helps,
Best regards.

Update: I searched a bit in my code and look like “Timer” is not working on the target,
I have an object from class “Timer” in my code which I’m using it to animate other images and stuff, It is working fine with simulation, but not on the target device;
If I exclude the Timer from my code, Simulation shows exactly as same as what target shows.

Hello @SAM,
It seems this problem is due to an insufficient number of threads. I will investigate further to identify causes but for now, you can add more threads (Configuration tab → Runtime → Memory) and the animation should work on the target.
Best regards,
Denis

1 Like

Many thanks for your help! It is working on target now.
Although the performance and FPS is not as good as was expecting, but that’s another issue.
Much appreciated anyways.

Hi @SAM
This hardware can easily get 50/60 FPS, even for complex animations. What code are you running?
(note: can you double check your BSP project is compiled with optimizations? (not -O0 at least)

Kind regards,
Stephane.

Hello and thanks for helping;

I’m using a Timer and rotate four images continuously, from angle -16 to 30 and vice versa.
Two of those images are almost big (50 x 200) and all of those four are transparent and alpha blending is going on as result; (I tried both “drawBilinear” and “drawNearestNeighbor” methods for rotation but it’s still not smooth enough)

Yes, it’s compiling with level 3 (O3).

How can I measure the exact FPS of this demo? Maybe we can discuss more accurate after that;

Best regards.

Hi,

We have tests at the BSP level to measure a framerate on-board, you can take a look at it here and inspire yourself on how to improve your Java demo.

It give advice on what is needed to achieve some standard framerate values (60, 30 or 20 fps).

Best Regards,
Gaëtan for MicroEJ

1 Like

Thanks for your help and sorry about my late answer,

As long as I understood from the Framerate test, It will just tells me how much the drawing time should be for each fps, not the current fps of my application which is running on the board? Am I right?

does the result of the test depends on the complexity of my GUI application? or it just tests the board potential?

Thanks for your time,
Regards.

Hi @SAM

You need inspire yourself from C code to be able the plug at the BSP level a FPS measurement for your application.

We do not have a standard tool to directly measure the framerate of Java applications.

Best Regards,
Gaëtan

1 Like

Hello again,

Thanks for your answer and clarifying :pray:

Regards.