X.org drawing rectangles extremely slow.
bartoschek at or.uni-bonn.de
Tue Aug 23 08:09:18 PDT 2011
I have an application that draws rectangles (approx 500000). Most of
them are so small that only a pixel or nothing is visible.
After we upgraded our thin clients we saw a huge performance regression
in the application.
On our old thin clients with XFree86 identifying itself as X.org: 6.8.1
the application need 1.5 seconds to draw all rectangles.
With the new thin client it takes 75 seconds. The X.org version is 1.5.2.
On my notebook with X.org 1.9.3 from opensuse 11.4 it still takes 7.4
seconds. This is about 5x slower than on the old thin client.
Has anyone an idea what could be wrong with the newer X.org servers?
I've created a perf profile of the X.org server on my notebook:
# Events: 33K cycles
# Overhead Command Shared Object
# ........ ....... ......................
46.83% Xorg libpixman-1.so.0.20.0 [.] fbbc
5.39% Xorg libexa.so [.] 3127
5.38% Xorg radeon_drv.so [.] c4928
5.32% Xorg Xorg [.] 2a343
4.34% Xorg libc-2.11.3.so [.] _int_malloc
3.14% Xorg libc-2.11.3.so [.] __GI_memmove
2.78% Xorg [radeon] [k] r100_cs_packet_parse
2.38% Xorg [radeon] [k] r100_cs_parse_packet0
2.18% Xorg libc-2.11.3.so [.] _int_free
2.14% Xorg Xorg [.] RegionValidate
1.87% Xorg libdrm_radeon.so.1.0.0 [.] 287d
1.81% Xorg libc-2.11.3.so [.] __cfree
1.71% Xorg libc-2.11.3.so [.] __malloc
1.40% Xorg [radeon] [k] r300_cs_parse
1.02% Xorg libpixman-1.so.0.20.0 [.] pixman_region_union
0.95% Xorg libpixman-1.so.0.20.0 [.] pixman_region_intersect
0.71% Xorg Xorg [.] RegionFromRects
0.66% Xorg [kernel.kallsyms] [k] read_hpet
0.53% Xorg libc-2.11.3.so [.] __i686.get_pc_thunk.bx
More information about the xorg