[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