Image split in half when angle was set

Description

What MCU/Processor/Board and compiler are you using?

a cortex m4 mcu, with 128M freq and 396k ram

What LVGL version are you using?

v7.11

What do you want to achieve?

the second hand break into 2 parts when it moves, especially in 9 direction and 4 direction. the upper part moves first and the other follows.
i wonder if the cpu is too slow and could not render whole area in certain time.

What have you tried so far?

delete all other elements, set longer period for the timer。

Code to reproduce

LV_IMG_DECLARE(symf2hr);
LV_IMG_DECLARE(symf2mn);
LV_IMG_DECLARE(symf2sec);
static lv_task_t *timer;
static lv_obj_t *imghour, *imgmin, *imgsec;
void init(void)
{
    struct tm tmcur;
    datetime_current(&tmcur);
    imghour = lv_img_create(lv_scr_act(), NULL);
    lv_img_set_src(imghour, &symf2hr);
    lv_img_set_pivot(imghour, 16, 108);
    lv_img_set_angle(imghour, tmcur.tm_hour * 300 + tmcur.tm_min * 5);
    lv_obj_align(imghour, NULL, LV_ALIGN_IN_TOP_MID, 0, 180 - 108);

    imgmin = lv_img_create(lv_scr_act(), NULL);
    lv_img_set_src(imgmin, &symf2mn);
    lv_img_set_pivot(imgmin, 8, 157);
    lv_img_set_angle(imgmin, tmcur.tm_min * 60 + tmcur.tm_sec);
    lv_obj_align(imgmin, NULL, LV_ALIGN_IN_TOP_MID, 0, 180 - 157);

    imgsec = lv_img_create(lv_scr_act(), NULL);
    lv_img_set_src(imgsec, &symf2sec);
    lv_img_set_pivot(imgsec, 7, 159);
    lv_img_set_angle(imgsec, tmcur.tm_sec * 60);
    lv_obj_align(imgsec, NULL, LV_ALIGN_IN_TOP_MID, 0, 180 - 159);
    timer = lv_task_create(timer_cb, 400, LV_TASK_PRIO_HIGH,NULL);
}

void timer_cb(lv_task_t *task)
{
    struct tm tmcur;
    datetime_current(&tmcur);
    lv_img_set_angle(imghour, tmcur.tm_hour * 300 + tmcur.tm_min * 5);
    lv_img_set_angle(imgmin, tmcur.tm_min * 60 + tmcur.tm_sec);
    lv_img_set_angle(imgsec, tmcur.tm_sec * 60);
}

btw, lcd size 360360, second hand image size 13195, convert format CF_TRUE_COLOR_ALPHA

i’ve fix it, thanks

You know what would be pretty cool for this. If you added a slight overshoot and bounce back of the second hand. You see this with some watches and it’s because of the movement inside of the watch sometimes coupled with the movement of the persons arm.