]> git.cworth.org Git - cworth.org/commitdiff
Add mozilla_trender blog entry
authorCarl Worth <cworth@cworth.org>
Wed, 20 Jun 2007 09:02:59 +0000 (02:02 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 20 Jun 2007 09:02:59 +0000 (02:02 -0700)
src/exa/mozilla_trender.mdwn [new file with mode: 0644]
src/exa/mozilla_trender/i965.png [new file with mode: 0644]
src/exa/mozilla_trender/r100.png [new file with mode: 0644]

diff --git a/src/exa/mozilla_trender.mdwn b/src/exa/mozilla_trender.mdwn
new file mode 100644 (file)
index 0000000..2cc8505
--- /dev/null
@@ -0,0 +1,81 @@
+[[meta title="Real-world tests: Mozilla Trender"]]
+
+[[tag exa performance xorg]]
+
+In
+[earlier](http://article.gmane.org/gmane.comp.freedesktop.xorg/17466)
+[[efforts|understanding_rectangles]] I've been comparing the
+performance of the EXA acceleration architecture to the older XAA
+architecture as well as to having no acceleration enabled in the X
+server at all.
+
+Some of the results I found were startling and discouraging, (with EXA
+performing several times slower than even NoAccel in some cases). As I
+[[drilled|corrected_rectangles]] [[further|mystery_solved]] one
+obvious question arose: Was I seeing significant performance problems
+that would affect real-world cases? Or was it just that the synthetic,
+micro benchmarks in cairo's performance test suite happened to
+exercise corner cases that wouldn't cause problems in practice.
+
+So before going further with those results, I decided to step back and
+measure some real-world loads with and without EXA. Thanks to some
+help from Robert and Vladimir I was able to get Mozilla's
+[Trender](http://wiki.mozilla.org/Mozilla2:Trender) benchmark up and
+running. And thanks to Keith Packard of Intel, I'm now testing on an
+Intel 965 chip in addition to the old ATI r100 in my laptop that I was
+using before.
+
+The Trender benchmark measures rendering time for many different
+real-world web pages, SVG files, and some synthetic loads. Mean times
+are reported for several different subsets of the tests as well as one
+mean time over all the tests.
+
+All the details and charts are below, but I'll deliver the punchline
+here. For the Mozilla Trender benchmark, EXA is almost always a
+slowdown compared to NoAccel, (for either i965 or r100). And for the
+i965, XAA is also always a slowdown, and a dramatic slowdown for the
+SVG case, (which is gearflowers.svg). Interestingly, the SVG case on
+the i965 is also the one case where EXA is able to match the NoAccel
+performance.
+
+I haven't tracked the cause of these slowdowns down yet---stay tuned
+for that---and it's possible that mozilla could perhaps be doing
+something different to help. But more and more it looks like there are
+some basic things missing in EXA. Again, hopefully this means there's
+some low-hanging fruit here that will be easy to optimize.
+
+Here are the configuration details and results for the Intel 965:
+
+ * xserver: [0375009a][] (May 17 commit)
+ * xf86-video-ati: [aea801cf][] (Apr. 13 commit)
+ * firefox: 3.0a6pre (June 17 [nightly build][])
+
+[[i965.png]]
+
+<table border="1">
+  <tr> <th> Test <th> Tbox <th> TboxGFX <th> English <th> Foreign <th> SVG <th> ALL
+  <tr> <th> NoAccel <td> 21.859 <td> 44.698 <td> 12.110 <td> 41.205 <td> 474.750 <td> 24.176
+  <tr> <th> XAA <td> 28.458 <td> 221.035 <td> 18.144 <td> 43.614 <td> 1075.306 <td> 32.997
+  <tr> <th> EXA <td> 100.777 <td> 133.532 <td> 83.543 <td> 101.258 <td> 473.111 <td> 87.740
+</table>
+
+And here is the same for the r100:
+
+ * xserver: [3c982bc1][] (May 24 commit)
+ * xf86-video-intel: [d1723445][] (May 23 commit)
+ * firefox: 3.0a6pre (June 17 [nightly build][])
+
+[[r100.png]]
+
+<table border="1">
+  <tr> <th> Test <th> Tbox <th> TboxGFX <th> English <th> Foreign <th> SVG <th>        ALL
+  <tr> <th> NoAccel <td> 68.891 <td> 46.772 <td> 49.668 <td> 71.574 <td> 1126.222 <td> 55.282
+  <tr> <th> XAA <td> 55.757 <td> 43.344 <td> 38.190 <td> 60.322 <td> 1137.000 <td> 45.493
+  <tr> <th> EXA <td> 141.928 <td> 99.445 <td> 125.808 <td> 143.801 <td> 1761.917 <td> 120.152
+</table>
+
+ [0375009a]: http://cgit.freedesktop.org/xorg/xserver.git/commit/?id=0375009a
+ [aea801cf]: http://cgit.freedesktop.org/xorg/driver/xf86-video-ati.git/commit/?id=aea801cf
+ [3c982bc1]: http://cgit.freedesktop.org/xorg/xserver.git/commit/?id=3c982bc1
+ [d1723445]: http://cgit.freedesktop.org/xorg/driver/xf86-video-intel.git/commit/?id=d1723445
+ [nightly build]: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/)
diff --git a/src/exa/mozilla_trender/i965.png b/src/exa/mozilla_trender/i965.png
new file mode 100644 (file)
index 0000000..35b9dc8
Binary files /dev/null and b/src/exa/mozilla_trender/i965.png differ
diff --git a/src/exa/mozilla_trender/r100.png b/src/exa/mozilla_trender/r100.png
new file mode 100644 (file)
index 0000000..45747ea
Binary files /dev/null and b/src/exa/mozilla_trender/r100.png differ