Opened 4 years ago

Last modified 4 years ago

#15901 new bug

remote desktop: freeze while receiving large bitmap

Reported by: X512 Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: Servers/app_server Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

This is hrev54051.

When displaying large bitmap in remote desktop client (HTML5 or Haiku RemoteDesktop app) GUI freeze until bitmap receiving will be finished. Some kind of multiplexing of data streams of each rendering thread should be used.

Change History (1)

comment:1 by X512, 4 years ago

This is problem in current remote protocol, it currently multiplexed on message level, but messages can be large so other rendering threads will be locked until message receiving will finish.

Possible approaches:

  1. Make all messages small. Bitmap message can be splitted to smaller messages such as 16x16 bitmaps.
  2. Use stream based multiplexing. Each rendering thread will have stream id, and top level protocol format will be like int32 streamId; int32 payloadSize; int8 payload[payloadSize]. Concatenated payloads will contain messages for specific render thread.
  3. Use separate TCP connection for each render thread.
Last edited 4 years ago by X512 (previous) (diff)
Note: See TracTickets for help on using tickets.