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

Rick Stockton rickstockton at reno-computerhelp.com
Fri Dec 7 13:08:51 PST 2012

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%.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 553 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/xcb/attachments/20121207/d18e1476/attachment.pgp>

More information about the Xcb mailing list