All messages are sent in xml.
Well, this is second in the ranking of really slow implementations. The bottleneck of this solution is the XML parser not the amount of data you have to send over the socket. If you have ever worked with SVG you will know that the parser takes much longer, than the painting itsself.

Why don't you simply send the points as they are - everything could be so easy.

... print crash.
All I can see is, that the crash is in Qt, but without knowing the Qwt calls in your stack I can't tell you if it is possible to avoid the QFont initialization.

Check the paint device in the QFont constructor: is it your image or one of the widgets ( or internal pixmaps ) of your plot widget ?

Uwe