[cairo-commit] papers/opengl_freenix04 opengl_freenix04.tex,1.28,1.29

Peter Nilsson commit at pdx.freedesktop.org
Mon Aug 15 11:12:59 PDT 2005


Committed by: peter

Update of /cvs/cairo/papers/opengl_freenix04
In directory pdx:/tmp/cvs-serv22384

Modified Files:
	opengl_freenix04.tex 
Log Message:
text n stuff

Index: opengl_freenix04.tex
===================================================================
RCS file: /cvs/cairo/papers/opengl_freenix04/opengl_freenix04.tex,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** a/opengl_freenix04.tex	26 Feb 2004 19:52:14 -0000	1.28
--- b/opengl_freenix04.tex	27 Feb 2004 03:26:57 -0000	1.29
***************
*** 720,838 ****
        \end{verbatim}
      \end{footnotesize}
! 
!     Applications, libraries and toolkits which use \libname{} as
!     rendering backend will get both 2D and 3D support with the ability
!     two use all 2D surfaces as textures for 3D rendering.
! 
    \section{Results}
  
!   \edannote{To be updated}
! 
!   Right now the library hasn't really been tested that much in real
!   applications as it is relatively early in the development process. Some
!   small test utilities for cairo have been ported to use the new OpenGL 
!   backend though. The results have been satisfying both with respect to
!   performance and accuracy. Figures~\ref{cairo-demo-xrender} and 
!   \ref{cairo-demo-glc} show a part of the output from the cairo-demo 
!   application. Figure~\ref{cairo-demo-xrender} shows output from cairo-demo
!   using xrender and Figure~\ref{cairo-demo-glc} shows the corresponding 
!   output using the GL backend for rendering.
! 
!   \begin{figure}[htbp]
!     \begin{centering}
!       \epsfig{file=cairo-demo-xrender.eps, width=3.0in}
!       \small\itshape
!       \caption{\small\itshape Output from cairo-demo when run with 
!                               anti-aliased xrender output.}
!       \label{cairo-demo-xrender}
!     \end{centering}
!   \end{figure}
! 
!   \begin{figure}[htbp]
!     \begin{centering}
!       \epsfig{file=cairo-demo-glc.eps, width=3.0in}
!       \small\itshape
!       \caption{\small\itshape Output from cairo-demo when run with aliased 
!                               OpenGL output.}
!       \label{cairo-demo-glc}
!     \end{centering}
!   \end{figure}
!   
!   Note that the image rendered by OpenGL compares rather well to that
!   rendered by xrender. Although not obvious in the printed version,
!   the on-screen display of these images does show a difference. The
!   xrender output is anti-aliased while the OpenGL output is not. Work is
!   now in progress to add support for anti-aliasing to the GLC backend.
! 
!   \edannote{It might be good to add a closeup figure here to
!             demonstrate the difference. That can wait until the final paper.
!             Or better, the final paper may just drop this paragraph as
!             hopefully GLC will be anti-aliased by then.}
! 
!   A simple benchmark application was also written to compare the rendering 
!   performance with cairo, using the different rendering backends including 
!   xrender, images (pure software) and the OpenGL backend developed in this
!   project. This benchmark application, called cairobench, currently contains
!   two separate tests. 
! 
!   The first test animates a semi-transparent, stroked and filled cairo path 
!   made up of several bezier curves that moves randomly over a simple
!   background image. This test shows the speed at which transparent trapezoids
!   can be drawn using cairo paths. 
! 
!   The second test scales a background image and translates another 
!   semi-transparent image randomly across the screen, testing image compositing 
!   and transformation performance.  
  
!   On all the systems on which the tests have currently been run, performance
!   has increased multiple times when rendering with the new OpenGL backend. 
!   Table~\ref{tab:cairobench} shows test results from a tested system. More
!   tests will be presented in the full report.
  
!   \begin{table}[htbp]
!     \centering
!     \begin{tabular}{|c||c|c|}\hline
!       {\bf Output} & {\bf Test \#1} & {\bf Test \#2} 
!       \\\hline {\bf GLX} & {400 fps} & {970 fps} 
!       \\\hline {\bf xrender} & {50 fps} & {4 fps} 
!       \\\hline {\bf image} & {9 fps} & {4 fps} 
!       \\\hline
!     \end{tabular}
!     \small\itshape
!     \caption{Test results from cairobench on a AMD Athlon XP 2600+ /
!              GeforceFX5600 running Nvidias binary Linux driver.}
!     \label{tab:cairobench}
!   \end{table}
    
!   \edannote{It would be good to add some more analysis of the results
!             here. First, a summary mentioning the overall speedup (8X-240X)
!             would be appropriate. Next, why is there such a large discrepancy
!             in the speedup?}
! 
!   These results suggest a speedup of about 4X to 240X when using OpenGL
!   for rendering compared to Render. It seems that graphical applications have
!   a lot to gain from using a 2D API with OpenGL accelerated rendering. 
  
!   There has also been some benchmarking of Imlib2 compared to the software
!   developed here. A benchmark utility called Renderbench was recently 
!   released that points out the superior rendering performance of Imlib2
!   compared to that of Render. Renderbench has been ported to instead test 
!   the performance of Imlib2 compared to the library developed here. 
!   Although Imlib2 is very fast at some tasks, still in most cases it can't 
!   compare to the rendering capabilities of OpenGL. This paper currently lacks 
!   concrete results from these tests but a more detailed comparison will
!   be presented in the full paper.
  
-   All these testing and benchmarking utilities can be downloaded from the 
-   project web site (referenced in Section 7). The site also contains complete 
-   screen shots of these applications in action. More testing will be done 
-   and the results will be presented in the full paper.
  
!   \section{Conclusion}
  
!   During the development of \libname{} we've found that with the OpenGL 
!   extensions available today and the wide range of hardware supporting them,
!   it's not only possible create an Render-like interface on top of OpenGL
!   it's actually very efficient. We're not all the way there yet but with 
    the current version of \libname{} we've taken a big step.
  
--- 720,754 ----
        \end{verbatim}
      \end{footnotesize}
!     
!   Applications, libraries and toolkits which use \libname{} as
!   rendering backend will get both 2D and 3D support with the ability
!   two use all 2D surfaces as textures for 3D rendering.
!     
    \section{Results}
+     
+   Right now the library hasn't been tested that much in real
+   applications as it is relatively early in the development process. 
+   Some test and benchmark utilities have been developed to analyze library
+   functionality with respect to accuracy and performance. 
+    
+   \subsection{Accuracy}  
  
!   This section discusses rendering accuracy with text and images.
  
!   \subsection{Performance}  
  
!   This section discusses rendering performance with text and tables.
    
!   \section{Conclusion}
  
!   During the development of \libname{} we've found that with the OpenGL 
!   API and the extensions available today and the wide range of hardware 
!   supporting them.
  
  
!  it's not only possible create an Render-like interface 
!   on top of OpenGL it's actually very efficient. 
  
!   We're not all the way there yet but with 
    the current version of \libname{} we've taken a big step.
  





More information about the cairo-commit mailing list