Hi Abraham, > Hi everybody, > > I’m trying to improve the performance of XRDP. > > > > Let me explain the problem. When a user is writing in an OpenOffice > document and things like that, the performance is OK, but if a user > tries to watch a Youtube video the performance could be a problem. > > With the “bitmap_compression=yes” configuration parameter set in > “xrdp.ini”, and monitoring with the “top” Linux command, the CPU > used by XRDP process was up to 60%. > > > > First of all, I set the “-O3” GCC option to get the code optimized, > and with the same test (and the same video) the CPU used by xrdp was > up to 45%.
Do you get this consistently in a reproducible manner? Are you sure you are playing the same exact video without any other load varations on the host? Can you garantee that the client and network are not at 100% load when you were testing the second time? Sorry for the overchecking :-) A potencial 15% performance gain is worth being well understood. We did some performance testing here and it is quite easy to have the test disturbed by network or client CPU usage variations, if one is not careful enough. > > > > Them I’ve made some little changes to “xrdp_bitmap_compress” function > to improve the performance of the RLE compression algorithm. When I > repeated the test the CPU used was up to 36%. > > Again, is this the same video and under the same conditions? Have your changes increased network usage or reduce CPU usage without bandwidth penalty? > > Now I realize that using RLE compression with real video frames is > not a good idea, because it consumes a lot of CPU and doesn’t > compress very much. So I’m thinking in modifying Did you quantify the bandwith differences? > “libxrdp_send_bitmap” function to test the image before to compress > it. > > > > I mean, set a test like: > > If (is_rle_compression_worthy()) { > > /* Performs RLE compression */ > > } else { > > /* Send as RAW image */ > > } > > Interesting idea. I wonder how much CPU the test would cost. It would be nice if we could understand your tests better, at first. Best regards Gustavo -- Angulo Sólido - Tecnologias de Informação http://angulosolido.pt ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may _______________________________________________ xrdp-devel mailing list xrdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xrdp-devel