From: Junkyeong, Kim Date: Fri, 4 Feb 2022 10:13:47 +0000 (+0900) Subject: Set the timer time by the output size X-Git-Tag: submit/tizen/20220211.044237~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f93f37d157ef5bb32000cc1e6881c04af2cfecc3;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-rdp.git Set the timer time by the output size if size is bigger need more time to conversion and transition. - conversion : tbm_surface -> pixman - transition : send pixman image from tizen(rdp server) to rdp client. Change-Id: Iede478d8bcdb776f02b9a21b8626aa959b72a893 Signed-off-by: Junkyeong, Kim --- diff --git a/src/e_mod_rdp.c b/src/e_mod_rdp.c index d175bb6..b257d16 100644 --- a/src/e_mod_rdp.c +++ b/src/e_mod_rdp.c @@ -43,6 +43,14 @@ #define MAX_FREERDP_FDS 10 #define DEFAULT_PIXEL_FORMAT PIXEL_FORMAT_BGRA32 +#define VGA_TIME 0.05 +#define SVGA_TIME 0.075 +#define XGA_TIME 0.06 +#define HD_TIME 0.15 +#define WXGA_TIME 0.18 +#define SXGAP_TIME 0.18 +#define FHD_TIME 0.2 + enum peer_item_flags { RDP_PEER_ACTIVATED = (1 << 0), @@ -77,6 +85,8 @@ struct _E_Rdp_Output uint32_t prev_x; uint32_t prev_y; + double refresh_time; + struct wl_list peers; }; @@ -890,6 +900,26 @@ _e_rdp_free_keyfile(E_Rdp_Backend *b, rdpSettings *settings) } } +static double +_e_rdp_refresh_time_set(uint32_t w, uint32_t h) +{ + uint32_t temp; + if (h > w) + { + temp = h; + h = w; + w = temp; + } + if (w >= 1400 || h >= 900) + return FHD_TIME; + else if (w >= 1024 || h >= 720) + return HD_TIME; + else if (w >= 800 || h >= 600) + return SVGA_TIME; + else //640x480 + return VGA_TIME; +} + static BOOL e_rdp_peer_capabilities(freerdp_peer *client) { @@ -1016,7 +1046,8 @@ e_rdp_peer_activate(freerdp_peer *client) if (output->frame_timer != NULL) ecore_timer_del(output->frame_timer); - output->frame_timer = ecore_timer_add(0.2, _e_rdp_frame_timer, output); + output->refresh_time = _e_rdp_refresh_time_set(output->w, output->h); + output->frame_timer = ecore_timer_add(output->refresh_time, _e_rdp_frame_timer, output); return TRUE; }