From 59c624aa38ef4834dc18b231749c5235dfeb0c43 Mon Sep 17 00:00:00 2001 From: _VIFEXTech Date: Mon, 22 Jan 2024 19:50:16 +0800 Subject: [PATCH] perf(draw): use lv_memzero to quickly clean up transparent masks (#5401) Signed-off-by: FASTSHIFT --- src/draw/sw/lv_draw_sw_arc.c | 4 ++-- src/draw/sw/lv_draw_sw_mask_rect.c | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/draw/sw/lv_draw_sw_arc.c b/src/draw/sw/lv_draw_sw_arc.c index 8172e10bd..e1093b5f5 100644 --- a/src/draw/sw/lv_draw_sw_arc.c +++ b/src/draw/sw/lv_draw_sw_arc.c @@ -171,14 +171,14 @@ void lv_draw_sw_arc(lv_draw_unit_t * draw_unit, const lv_draw_arc_dsc_t * dsc, c if(dsc->rounded) { if(blend_area.y1 >= round_area_1.y1 && blend_area.y1 <= round_area_1.y2) { if(blend_dsc.mask_res == LV_DRAW_SW_MASK_RES_TRANSP) { - lv_memset(mask_buf, 0x00, blend_w); + lv_memzero(mask_buf, blend_w); blend_dsc.mask_res = LV_DRAW_SW_MASK_RES_CHANGED; } add_circle(circle_mask, &blend_area, &round_area_1, mask_buf, width); } if(blend_area.y1 >= round_area_2.y1 && blend_area.y1 <= round_area_2.y2) { if(blend_dsc.mask_res == LV_DRAW_SW_MASK_RES_TRANSP) { - lv_memset(mask_buf, 0x00, blend_w); + lv_memzero(mask_buf, blend_w); blend_dsc.mask_res = LV_DRAW_SW_MASK_RES_CHANGED; } add_circle(circle_mask, &blend_area, &round_area_2, mask_buf, width); diff --git a/src/draw/sw/lv_draw_sw_mask_rect.c b/src/draw/sw/lv_draw_sw_mask_rect.c index 019cc7fa0..1f800a6d5 100644 --- a/src/draw/sw/lv_draw_sw_mask_rect.c +++ b/src/draw/sw/lv_draw_sw_mask_rect.c @@ -97,10 +97,7 @@ void lv_draw_sw_mask_rect(lv_draw_unit_t * draw_unit, const lv_draw_mask_rect_ds y - buf_area->y1); if(res == LV_DRAW_SW_MASK_RES_TRANSP) { - uint32_t i; - for(i = 0; i < area_w; i++) { - c32_buf[i].alpha = 0x00; - } + lv_memzero(c32_buf, area_w * sizeof(lv_color32_t)); } else { uint32_t i;