JXRenderMark

About:

RenderMark is a XRender benchmark testing features the pipeline depends on or will use in future, to allow driver/xorg developers to optimize their software without having to download/analyze the complete pipeline sourcecode.

Download:

source & binary  (gcc -O2 -lX11 -lXrender JXRenderMark.c -o JXRenderMark)


Useage:

Example: ./putperf; run only tests currently used by the XRender pipeline (Default)
Example: ./putperf -all; run all tests; -all includes functionality we really would *like* to use in later releases, but can't now because its broken
Example: ./putperf -screen renders directly to screen.
Example: ./putperf 0 128 1 64 3 256 .... -> 1. rectangles 128x128, 2. putImage 64x64, 3. ...
Example: ./putperf -help -> More information howto use JXRenderMark ;)

Results - Rendering to Pixmap:


Blue: Geometry related tests; Red: Composition performance; Yellow: Gradient rendering; Green: Text rendering

Test Radeon HD3850 Nvidia Geforce 6600 Intel 945GM Radeon vs Geforce Intel vs Geforce






rects;15x15: 239558,1 301778,21 134642,68 0,79 0,45
rects;75x75: 85145,09 174022,65 46145,83 0,49 0,27
rects;250x250: 16528,27 38125 15955,45 0,43 0,42
rectscomposition;15x15: 71292,44 107361,54 58454,77 0,66 0,54
rectscomposition;75x75: 22127,79 53885,26 26815,85 0,41 0,5
rectscomposition;250x250: 2282,61 8134,76 3645,04 0,28 0,45
putcomposition;15x15: 126434,97 136777,12 32672,43 0,92 0,24
putcomposition;75x75: 15379,68 32324,78 10343,98 0,48 0,32
putcomposition;250x250: 979,48 3364,83 2019,5 0,29 0,6
mixedcomposition;15x15: 53795,82 62510,35 13015,92 0,86 0,21
mixedcomposition;75x75: 11650,25 22312,5 5614,33 0,52 0,25
mixedcomposition;250x250: 942,57 3184,35 1567,93 0,3 0,49
linescomposition;15x15: 93537,04 104733,84 31659,38 0,89 0,3
linescomposition;75x75: 15725,69 22121,77 13161,62 0,71 0,59
linescomposition;250x250: 1462,45 2743,95 1722,01 0,53 0,63
SimpleBlit;15x15: 235855,93 228563,58 247548,39 1,03 1,08
SimpleBlit;75x75: 99000 68469,14 50082,82 1,45 0,73
SimpleBlit;250x250: 1779,38 9178,77 4623,15 0,19 0,5
TransformedBlitLinear;15x15: 75479,07 196968,75 153274,97 0,38 0,78
TransformedBlitLinear;75x75: 6076,32 63039,93 23508,97 0,1 0,37
TransformedBlitLinear;250x250: 478,15 6952,8 2643,65 0,07 0,38
TransformedBlitBillinearsharpedges;15x15: 793,17 25510,76 8513,57 0,03 0,33
TransformedBlitBillinearsharpedges;75x75: 35,03 1549,03 443,79 0,02 0,29
TransformedBlitBillinearsharpedges;250x250: 15,81 849,04 327,56 0,02 0,39
transformedtexturepaint;15x15: 19659,21 127204,43 89349,82 0,15 0,7
transformedtexturepaint;75x75: 903,96 51222,36 29522,19 0,02 0,58
transformedtexturepaint;250x250: 91,11 7505,59 3263,02 0,01 0,43
gradient+temptexture;15x15: 34364,16 6639,37 17944,96 5,18 2,7
gradient+temptexture;75x75: 4232,35 2162,11 3537,98 1,96 1,64
gradient+temptexture;250x250: 328,24 242,19 430,97 1,36 1,78
12pttextgrayscale;5chars 44587,21 86444,7 48336,73 0,52 0,56
12pttextgrayscale;25chars 14922 46755,68 25502,03 0,32 0,55
12pttextlcd;100chars 44305,63 93077,92 40120,28 0,48 0,43
12pttextlcd;250chars 17238,05 66208,02 33478,98 0,26 0,51



arith mean: 0,65 0,62



modal: 0,43 0,49



product: 6,62E-18 1,20E-10

Analysis:

All in all GeForce6600 is the fastest, providing excellent results over a broad range of tests.

The Intel-Driver currently has performance problems because of GEM refactoring - causing a high per-primitive overhead for small operations.
Previous versions performed twice as fast for some scenairous (especially putcomposition / mixedComposition) - hopefully this will be fixed soon (bugs have already been filed)
For large operations the GPU/memory is too slow to compete with the GeForce6600.

Catalyst/fglrx seems to accalerate simple composition, but falls back to software for everything more complicated.
Even text seems to be done by the CPU, rendering directly to screen completly destroys performance.
The GPU seems to be really capable, especially when looking at "SimpleBlit", however for good results the driver falls back was too often.
Its quite fast uploading data to VRAM, the 5x advantage in "
gradient+temptexture;15x15" probably makes the composite score better than it maybe is in real-world.



Results - Rendering to Screen:

Test Intel onscreen: Radeon onscreen: Radeon vs. Intel
rects;15x15: 96012,84 7453,34 12,88
rects;75x75: 23633,05 4145,99 5,7
rects;250x250: 6637,84 1713,92 3,87
rectscomposition;15x15: 41978,95 9316,37 4,51
rectscomposition;75x75: 18258,3 540,3 33,79
rectscomposition;250x250: 3730,04 56,01 66,59
putcomposition;15x15: 62702,29 7268,08 8,63
putcomposition;75x75: 18961,7 285,71 66,37
putcomposition;250x250: 2966,95 26,01 114,06
mixedcomposition;15x15: 23231,2 6240,44 3,72
mixedcomposition;75x75: 8328,13 242,48 34,35
mixedcomposition;250x250: 1433,28 18,82 76,14
linescomposition;15x15: 45539,59 5582,19 8,16
linescomposition;75x75: 14457,01 229,48 63
linescomposition;250x250: 1642,72 22,66 72,51
SimpleBlit;15x15: 245791,12 180070,02 1,36
SimpleBlit;75x75: 62227,27 37625,25 1,65
SimpleBlit;250x250: 5982,12 3308,27 1,81
TransformedBlitLinear;15x15: 78000 13230,91 5,9
TransformedBlitLinear;75x75: 24324,74 2071,88 11,74
TransformedBlitLinear;250x250: 2275,07 346,34 6,57
TransformedBlitBillinearsharpedges;15x15: 1415,07 499,35 2,83
TransformedBlitBillinearsharpedges;75x75: 249,38 109,16 2,28
TransformedBlitBillinearsharpedges;250x250: 189,19 114,5 1,65
transformedtexturepaint;15x15: 57278,72 4696,46 12,2
transformedtexturepaint;75x75: 28369,52 183,71 154,42
transformedtexturepaint;250x250: 3581,28 18,5 193,57
gradient+temptexture;15x15: 24556,45 4588,57 5,35
gradient+temptexture;75x75: 6114,07 378,28 16,16
gradient+temptexture;250x250: 660,98 33,67 19,63
12pttextgrayscale;5chars 27781,25 2909,5 9,55
12pttextgrayscale;25chars 8815,38 905,41 9,74
12pttextlcd;100chars 13019,53 2724,35 4,78
12pttextlcd;250chars 4634,66 823,45 5,63


Analysis:

Catalyst shows horrible performance when rendering on screen, in some cases beeing almost 200x slower than the i945GM.
This is really problematic, because the XRender pipeline allows direct rendering to screen.

Also Intel is slower when rendering to screen, but overall its still 20-30x faster than Catalyst.


System configuration:

Sempron 3100+ 2.16ghz / DDR333 / Kubuntu-8.10:
GeForce 6600: NVidia 180.11 beta
ATI Radeon 3850: AMD Catalyst 8.11

Fedora 8 (2.6.26, Xorg git) / T7200 - 2ghz / DDR2-533:
Intel 945GM, GIT Driver (about 11.2008)