[cairo] Survey of polygon rasterization techniques

Kiia Kallio kkallio at uiah.fi
Thu Aug 2 16:18:24 PDT 2007


I added Zack's polygon data to my tests as well, here are the results (running
in 640x480 window on 1.8 GHz P4). No scaling is applied to the data, it's
in the same size as specified in the complex.data file.

As with all the tests, these measure only the actual rendering call (not including
initalization times, buffer conversions etc.), i.e. path objects are created first,
and then these are used in the rendering. Performance counters are used
for measuring the timings.

Milliseconds per frame (average of 200 rendered frames)
                     8x AA     16x AA   32x AA    GDI+      GDI+ no AA  AGG     
Polygon 1 e/o fill    0.48246  0.65462   0.89985   1.99712     0.68161   1.93820
Polygon 1 n/z fill    0.73342  1.12507   1.61857   1.67469     0.60785   1.87566
Polygon 2 e/o fill    0.69489  0.82366   0.92642   1.62445     1.38746   1.53945
Polygon 2 n/z fill    0.72300  0.86064   1.00957   1.65394     1.33512   1.50489
Polygon 3 e/o fill    6.53302  7.59778   9.07006  14.13767    10.13539  12.54940
Polygon 3 n/z fill    7.10002  8.78048  10.86452  13.40872    10.20099  12.56043
                                                                      
Frames per second                                                     
                     8x AA     16x AA   32x AA    GDI+      GDI+ no AA  AGG     
Polygon 1 e/o fill     2072.7   1527.6    1111.3     500.7      1467.1     515.9
Polygon 1 n/z fill     1363.5    888.8     617.8     597.1      1645.2     533.1
Polygon 2 e/o fill     1439.1   1214.1    1079.4     615.6       720.7     649.6
Polygon 2 n/z fill     1383.1   1161.9     990.5     604.6       749.0     664.5
Polygon 3 e/o fill      153.1    131.6     110.3      70.7        98.7      79.7
Polygon 3 n/z fill      140.8    113.9      92.0      74.6        98.0      79.6

Note that fps is calculated from time spent in the rendering function. In reality
the FPS is clamped by the page flip speed.

There is a new version available from http://mlab.uiah.fi/~kkallio/antialiasing/
that includes these datasets. The test binaries are also available as a separate
package (compiled for windows).  I also noticed some debug functionality that
was left enabled by accident in the previous release, so this version is also
somewhat faster...

Kiia

> 
> Some quick unscientific benchmarks
> ----------------------------
> 	1	2	3
> --------------------------
> libart	60	  1	 4
> cairo	63	 22	 1
> agg	94	 76	17	
> qt(x11)	63	 63	 6
> qt(sw)  34	166	 2	
> 
> 
> -Jeff
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo
> 



More information about the cairo mailing list