svPerfGL is an OpenGL benchmark intended to measure "real world" performance of scientific visualization applications. These applications are characterized by relatively high payload (i.e., lots of triangles) with relatively few OpenGL state changes. This application takes as input disjoint triangle payload contained in files in netCDF format, renders the frames over a user-specified time duration, rotates the entire scene by one degree per frame, then computes and reports a "triangles per second" performance metric upon exit.
Later releases of svPerfGL may contain an option to perform other types of rendering germane to scientific visualization applications, such as texture-based, hardware accelerated direct volume rendering. In contrast to the industry standard OpenGL benchmark, SPECviewperf, svPerfGL focuses on measuring OpenGL rendering performance in the presence of extremely heavy graphics payload with relatively few OpenGL state changes. This balance is more representative of the type of load incurred by scientific visualization applications.
svPerfGL is written in a combination of C and C++ and uses calls consistent with the OpenGL 1.2 specification. Therefore, it is very conservative in its use of the OpenGL API and should run on any modern platform that supports OpenGL.
Third party libraries required to build and run svPerfGL: you will need headers and runtime libraries for:
Source code for the svPerfGL application may be downloaded from https://codeforge.lbl.gov/projects/svperfgl/. This source code is distributed free of charge via a BSD-like Open Source license.
This README.txt file is included with the svPerfGL distribution. It explains how to build and run the benchmark.
This svPerfGL-log.txt file contains output from a run on a dual 2.0Ghz Opteron workstation equipped with an NVIDIA Quadro FX 4500 graphics accelerator. The punch line is that when using retained mode rendering w/o vertex arrays, we get a rendering rate of about 8.6Mtris/sec, but if we use vertex arrays in immediate mode, the rendering rate leaps to about 101Mtris/sec. Compare this figure to the 181Mtris/sec listed on NVIDIA's website. The moral of the story is that to obtain an accurate estimate of the rendering rate for any graphics hardware, you need to run your application on the card – scientific visualization applications place different demands on today's graphics hardware than their primary target market: computer games.