Drawing direct to screen surface

(My use case is a single screen full size buffer and high refresh rate.)
I would like to know if the approach below is correct to draw 10’s of lines on screen. This is my understanding if I want to draw to surface. I tried it but did not work:

    lv_obj_t *parent= lv_scr_act();

    lv_draw_line_dsc_t dsc;
    dsc.color = LV_COLOR_RED;
    dsc.width = 3;

    lv_point_t pt1, pt2;
    lv_area_t area = make_area(0, 0, 128, 128);
    pt1 = make_point(2, 2);
    pt1 = make_point(126, 126);
    lv_draw_line(&pt1, &pt2, &area, &dsc);

    lv_scr_load(parent); // signal lvgl to refresh in next

Thanks.

It is ok now. I followed the guidelines of canvas drawing.