xrdp
xrdp copied to clipboard
xrdp send huge data to client, even screen was not changed
when I use jetbrains IDE in xrdp.
xrdp would send huge data to client continuously, but I did nothing before, and screen has no change too.
after I minimize IDE, then sending was stopped.
it's happened sometime.
I use gstack $xrdp_pid
#0 0x00007fbc5c54bf14 in fdelta (in_plane=in_plane@entry=0x205d6b0 "", out_plane=out_plane@entry=0x20616b0 "", cx=cx@entry=64, cy=cy@entry=64) at xrdp_bitmap32_compress.c:243
#1 0x00007fbc5c54cc1c in xrdp_bitmap32_compress (in_data=in_data@entry=0x29a6300 "A?<", width=width@entry=64, height=<optimized out>, s=s@entry=0x1f374b0, bpp=bpp@entry=32, byte_limit=3145472, start_line=63, temp_s=0x1f37740, e=e@entry=0, flags=flags@entry=16) at xrdp_bitmap32_compress.c:514
#2 0x00007fbc5c55d4f4 in xrdp_orders_send_bitmap (self=0x1f37240, width=64, height=<optimized out>, bpp=32, data=0x29a6300 "A?<", cache_id=cache_id@entry=2, cache_idx=21) at xrdp_orders.c:2384
#3 0x00007fbc5c54b639 in libxrdp_orders_send_bitmap (session=<optimized out>, width=<optimized out>, height=<optimized out>, bpp=<optimized out>, data=<optimized out>, cache_id=cache_id@entry=2, cache_idx=cache_idx@entry=21) at libxrdp.c:1036
#4 0x0000000000409d10 in xrdp_cache_add_bitmap (self=0x7fbc52653010, bitmap=0x25d9110, hints=0) at xrdp_cache.c:473
#5 0x0000000000414e31 in xrdp_painter_copy (self=self@entry=0x25db5f0, src=src@entry=0x27e29d0, dst=<optimized out>, x=0, y=<optimized out>, cx=1920, cy=1080, srcx=0, srcy=0) at xrdp_painter.c:1340
#6 0x000000000040f676 in server_paint_rects (mod=<optimized out>, num_drects=<optimized out>, drects=0x280eb60, num_crects=1, crects=<optimized out>, data=0x7fbc51c65000 "\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377"..., width=1920, height=1080, flags=0, frame_id=4753) at xrdp_mm.c:2974
#7 0x00007fbc5244fdbc in process_server_paint_rect_shmem_ex (s=0x2047080, amod=0x2044990) at xup.c:1286
#8 lib_mod_process_orders (mod=mod@entry=0x2044990, type=<optimized out>, s=s@entry=0x2047080) at xup.c:1404
#9 0x00007fbc52450b95 in lib_mod_process_message (s=0x2047080, mod=0x2044990) at xup.c:1501
#10 lib_data_in (trans=0x2046dd0) at xup.c:127
#11 0x00007fbc5c7791a1 in trans_check_wait_objs (self=0x2046dd0) at trans.c:426
#12 0x0000000000412e2d in xrdp_mm_check_wait_objs (self=0x1f94a90) at xrdp_mm.c:2623
#13 0x0000000000419dba in xrdp_wm_check_wait_objs (self=<optimized out>) at xrdp_wm.c:2219
#14 0x0000000000415de2 in xrdp_process_main_loop (self=self@entry=0x1f3e970) at xrdp_process.c:282
#15 0x000000000040b4e7 in xrdp_process_run (in_val=in_val@entry=0x0) at xrdp_listen.c:151
#16 0x000000000040c547 in xrdp_listen_fork (server_trans=0x1f357e0, self=0x1f3e9d0) at xrdp_listen.c:803
#17 xrdp_listen_main_loop (self=0x1f3e9d0) at xrdp_listen.c:952
#18 0x0000000000405e46 in main (argc=1, argv=0x7ffca7641f48) at xrdp.c:679
Interesting.
I have found similar "high refresh rate" from Sublime Text, while vscode (chrome based) only sends when there are changes in vscode.
I guess you have the same with a paused fullscreen youtube video...
Turning off GPU acceleration in JetBrains IDE may fix the problem: https://github.com/team-unstablers/ulalaca-xrdp/issues/4#issuecomment-1423065479