When running the generated C code on hardware, when a screen is marked as permanent="true", animations on child objects produce a ghost; a static copy of the object remains visible at its original position while an animated instance moves.
Environment
- LVGL version: 9.5
- LVGL Pro Editor version 1.2.1
- Platform: Renesas EK-RA8D1
Sample component:
ball.xml
<component>
<animations>
<timeline name="jump">
<animation target="self" prop="translate_y" start="0" end="-500" duration="300" early_apply="false" />
<animation
target="self"
prop="translate_y"
start="-500"
end="0"
duration="300"
delay="1000"
early_apply="false"
/>
</timeline>
</animations>
<view extends="lv_button" style_width="50" style_height="50" style_radius="25" />
</component>
Sample screen:
<screen permanent="true">
<view>
<ball name="ball_1" align="bottom_mid" />
<lv_button align="bottom_left">
<lv_label text="Jump" />
<play_timeline_event target="ball_1" timeline="jump" />
</lv_button>
</view>
</screen>
Expected Behavior
The "ball" component animates cleanly with no duplicate rendering.
Actual Behavior
A static ghost of the component remains at its original position while the animated copy moves.
Additional Notes
There is only one screen. I have not tried this with multiple screens.
Setting permanent="false" (or omitting the attribute) on the screen fixes the problem.
The preview on LVGL Pro Editor does not exhibit this behavior. It is only seen when running on hardware.
Is this behavior expected? Seems to be relate to how a permanent screen is saved/ cached in the LVGL runtime.
When running the generated C code on hardware, when a screen is marked as
permanent="true", animations on child objects produce a ghost; a static copy of the object remains visible at its original position while an animated instance moves.Environment
Sample component:
Sample screen:
Expected Behavior
The "ball" component animates cleanly with no duplicate rendering.
Actual Behavior
A static ghost of the component remains at its original position while the animated copy moves.
Additional Notes
There is only one screen. I have not tried this with multiple screens.
Setting
permanent="false"(or omitting the attribute) on the screen fixes the problem.The preview on LVGL Pro Editor does not exhibit this behavior. It is only seen when running on hardware.
Is this behavior expected? Seems to be relate to how a permanent screen is saved/ cached in the LVGL runtime.