]> git.cworth.org Git - cworth.org/blob - src/exa/mozilla_trender.mdwn
Convert prefix directives to new syntax.
[cworth.org] / src / exa / mozilla_trender.mdwn
1 [[!meta title="Real-world tests: Mozilla Trender"]]
2
3 [[!tag exa performance xorg]]
4
5 In
6 [earlier](http://article.gmane.org/gmane.comp.freedesktop.xorg/17466)
7 [[efforts|understanding_rectangles]] I've been comparing the
8 performance of the EXA acceleration architecture to the older XAA
9 architecture as well as to having no acceleration enabled in the X
10 server at all.
11
12 Some of the results I found were startling and discouraging, (with EXA
13 performing several times slower than even NoAccel in some cases). As I
14 [[drilled|corrected_rectangles]] [[further|mystery_solved]] one
15 obvious question arose: Was I seeing significant performance problems
16 that would affect real-world cases? Or was it just that the synthetic,
17 micro benchmarks in cairo's performance test suite happened to
18 exercise corner cases that wouldn't cause problems in practice.
19
20 So before going further with those results, I decided to step back and
21 measure some real-world loads with and without EXA. Thanks to some
22 help from Robert and Vladimir I was able to get Mozilla's
23 [Trender](http://wiki.mozilla.org/Mozilla2:Trender) benchmark up and
24 running. And thanks to Keith Packard of Intel, I'm now testing on an
25 Intel 965 chip in addition to the old ATI r100 in my laptop that I was
26 using before.
27
28 The Trender benchmark measures rendering time for many different
29 real-world web pages, SVG files, and some synthetic loads. Mean times
30 are reported for several different subsets of the tests as well as one
31 mean time over all the tests.
32
33 All the details and charts are below, but I'll deliver the punchline
34 here. For the Mozilla Trender benchmark, EXA is almost always a
35 slowdown compared to NoAccel, (for either i965 or r100). And for the
36 i965, XAA is also always a slowdown, and a dramatic slowdown for the
37 SVG case, (which is gearflowers.svg). Interestingly, the SVG case on
38 the i965 is also the one case where EXA is able to match the NoAccel
39 performance.
40
41 I haven't tracked the cause of these slowdowns down yet---stay tuned
42 for that---and it's possible that mozilla could perhaps be doing
43 something different to help. But more and more it looks like there are
44 some basic things missing in EXA. Again, hopefully this means there's
45 some low-hanging fruit here that will be easy to optimize.
46
47 Here are the configuration details and results for the Intel 965:
48
49  * xserver: [0375009a][] (May 17 commit)
50  * xf86-video-ati: [aea801cf][] (Apr. 13 commit)
51  * firefox: 3.0a6pre (June 17 [nightly build][])
52
53 [[i965.png]]
54
55 <table border="1">
56   <tr> <th> Test <th> Tbox <th> TboxGFX <th> English <th> Foreign <th> SVG <th> ALL
57   <tr> <th> NoAccel <td> 21.859 <td> 44.698 <td> 12.110 <td> 41.205 <td> 474.750 <td> 24.176
58   <tr> <th> XAA <td> 28.458 <td> 221.035 <td> 18.144 <td> 43.614 <td> 1075.306 <td> 32.997
59   <tr> <th> EXA <td> 100.777 <td> 133.532 <td> 83.543 <td> 101.258 <td> 473.111 <td> 87.740
60 </table>
61
62 And here is the same for the r100:
63
64  * xserver: [3c982bc1][] (May 24 commit)
65  * xf86-video-intel: [d1723445][] (May 23 commit)
66  * firefox: 3.0a6pre (June 17 [nightly build][])
67
68 [[r100.png]]
69
70 <table border="1">
71   <tr> <th> Test <th> Tbox <th> TboxGFX <th> English <th> Foreign <th> SVG <th> ALL
72   <tr> <th> NoAccel <td> 68.891 <td> 46.772 <td> 49.668 <td> 71.574 <td> 1126.222 <td> 55.282
73   <tr> <th> XAA <td> 55.757 <td> 43.344 <td> 38.190 <td> 60.322 <td> 1137.000 <td> 45.493
74   <tr> <th> EXA <td> 141.928 <td> 99.445 <td> 125.808 <td> 143.801 <td> 1761.917 <td> 120.152
75 </table>
76
77  [0375009a]: http://cgit.freedesktop.org/xorg/xserver.git/commit/?id=0375009a
78  [aea801cf]: http://cgit.freedesktop.org/xorg/driver/xf86-video-ati.git/commit/?id=aea801cf
79  [3c982bc1]: http://cgit.freedesktop.org/xorg/xserver.git/commit/?id=3c982bc1
80  [d1723445]: http://cgit.freedesktop.org/xorg/driver/xf86-video-intel.git/commit/?id=d1723445
81  [nightly build]: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/)