Performance drop when updating > 500k pixels

Pierre Ossman ossman at cendio.se
Thu Jan 12 12:53:10 UTC 2017


I'm hitting some odd performance glitch here that I hope someone could 
provide some insight in to.

I've been experimenting with getting pixels on the screen as efficiently 
as possible in TigerVNC. As part of that I made a test program that 
tries to draw things as quickly as possible (some XSync()s thrown in to 
avoid queue build-up though).

This looks sane on some systems, but on my workstation I'm getting some 
rather odd results:

For small updates I see performance growing logarithmically, measured in 
pixels/second. At around 500k pixels it starts leveling off at ~1.5 
Gpixels/second. After that the performance starts dropping linearly as 
the update grows.

The method uses is XShmPutPixmap(). Splitting up the transfer in to 
multiple calls doesn't seem to help.

This is a Fedora 25 with an Intel E3-1200 card. Wayland vs X11 doesn't 
seem to matter much.

Ideas?

Regards
-- 
Pierre Ossman           Software Development
Cendio AB               https://cendio.com
Teknikringen 8          https://twitter.com/ThinLinc
583 30 Linköping        https://facebook.com/ThinLinc
Phone: +46-13-214600    https://plus.google.com/+CendioThinLinc

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?


More information about the xorg-devel mailing list