Xpra: Ticket #68: improve performance of network code: bencoder is too slow

First, eventually we can drop compatibility with old clients (see #57) and just assume that the client will always be sending the size header (introduced in r207, stable as of r270).

Second, the bencoder code uses recursion far too much (see #64 - crashes on OpenBSD) and is made hard to understand by the fact that it was tweaked to be able to deal with incomplete packets (which is no longer needed). Either we replace it with something better (surely there are other/better ones?) or at least we remove the cruft.



Wed, 04 Apr 2012 10:01:38 GMT - Antoine Martin: status, milestone changed

would be good to get this in 0.2 to reduce cpu consumption (zero copy) on both client and server


Tue, 01 May 2012 15:02:45 GMT - Antoine Martin:

also, we should not try to re-compress pixel data when it was already compressed with x264/vpx/jpeg or png. It only makes sense to compress rgb24


Tue, 01 May 2012 17:27:43 GMT - Antoine Martin: attachment set

experimental patch which sends all strings larger than 1KB as raw packets


Wed, 02 May 2012 08:46:00 GMT - Antoine Martin: attachment set

new raw_packets feature with per-packet compression option (disabled for raw packets)


Fri, 04 May 2012 09:38:53 GMT - Antoine Martin: status changed; resolution set

"raw_packets" feature merged in r784:


Fri, 04 May 2012 10:17:28 GMT - Antoine Martin:

The code is now even more messy than before (despite the addition of docstrings), #122 will eventually clear this up.


Wed, 23 May 2012 19:03:51 GMT - Antoine Martin: attachment set

compares current 0.3.1 code with raw_packets=False vs True, 0.2.0, 0.1.0 and 0.0.7.36


Sat, 23 Jan 2021 04:44:39 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/68