As per #926, this can be expensive. We call it from the following codepaths:
rgb_encode
at level=0
compressed_wrapper
mmap_write
The difficulty is in figuring out what data types are going to come through all these codepaths, as this will depend on the type of server (shadow, standard, proxy..), the type of codecs and csc modules available, etc...
done in r10986
@smo: if I've done this right (and I believe I have - it is small after all), aside from making the code a bit cleaner, we may get a small performance increase in some cases by not making an extra copies unnecessarily (pillow and the compressors can take a "buffer" as input and we no longer convert that to bytes), if I've done this wrong we could get all sorts of memory corruption and weird behaviour... which should cause random failures in the automated perf test. If things don't get any worse, I think we can close this.
Haven't noticed any ill effects from this change is there anything else we can do to make sure?
This was mostly a FYI. Closing.
(having tickets for the automated tests would really help)
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/927