[Xcb] Basic test of Qt5 toolkit performance, XCB versus native XLIB (XCB wins)

Samuel Rødal samuel.rodal at digia.com
Sun Dec 9 23:23:24 PST 2012

On 12/07/2012 10:08 PM, ext Rick Stockton wrote:
> This reports the results of a 'quick and dirty' performance test of a Qt
> animation program, using Qt version 5 (now in RC status), while swapping
> between use of our our "Qt Platform Abstraction" plugins "xcb" and "xlib".
> Note that Qt Version 5 will not be Released with an xlib plugin code
> present or build-able - on xlib platforms, Qt5 will requires XCB.
> However, I made a very simple test of Qt5 with the now-discontinued
> "xlib platform plugin" against Qt5 with XCB. The application program
> runs a GUI Window, in which 4 square-shape blocks "hop" from place to
> place, in 8 possible arrangements. I modified some of the soure code
> tuning parameters to make the test more aggressive. (Faster movement;
> larger applicaton window; bigger squares being moved.) There is no input
> from keyboard or mouse while the test runs, so we don't have
> "piggybacking" of input events. But requests/replies for GUI writing do
> piggyback, leading to a considerable performance gain:
> First, the raw speed of the GUI improves considerably- the rate at which
> the GUI moves the blocks improved by about 12%. This was relatively
> constant while running the test application program.
> Second, the CPU Utilization for runing the test went down- in both the
> X11 task and the Qt "user" application code. About 25% for X11/XCB, and
> about 8% for the user Application. This improvement, however, occurred
> with in "lumps", each followed by a followed by a short period of higher
> CPU utilization (roughly equal to the original, higher X11 utilization
> levels). During these short periods of higher CPU utilization, the GUI
> speed also degraded to (roughly) the original performance level. I
> haven't made any attempt to analyze why this occurs. It could be
> hardware related (video card memory or CPU cache issues).
> My system: Phenom X4 960T @ 3 Mgz. Fedora-17 with updates, but without
> packages in testing. (libxcb=1.9-1, xcb-util-image=0.3.8-3, libX11
> core=1.5.0-2, and so on, KDE desktop 4.9.3.). NVidia 9600-GT with NVidia
> Kernel Module (Version 304.64). Total CPU Utilization was < 30%.

There are some further ideas for improvements that can be done in Qt's 
XCB backing store: https://bugreports.qt-project.org/browse/QTBUG-27243

Could you attach your test program to the task if you think it might be 


More information about the Xcb mailing list