At the moment the framebuffer is grabbed on the scene graph thread, but converting it into the format being requested by the client happens in the GUI thread.
Probably the best way to solve this is to move each instance of VncClient in its own thread. This also allows to use blocking reads, when waiting for client messages.
At the moment the framebuffer is grabbed on the scene graph thread, but converting it into the format being requested by the client happens in the GUI thread.
Probably the best way to solve this is to move each instance of VncClient in its own thread. This also allows to use blocking reads, when waiting for client messages.