OPC Group Develops Benchmarks
for Systems Based on OpenGL API

The OpenGL Performance Characterization (OPC) organization began in 1993 as an ad-hoc project group aimed at establishing graphics performance benchmarks for systems running under the OpenGL application programming interface (API). The group joined the GPC committee in the summer of 1994.

The non-profit OPC project is providing unambiguous methods for comparing the performance of OpenGL implementations across vendor platforms, operating systems, and windowing environments. Operating systems covered by the OPC group include, but are not limited to, OS/2, UNIX and Windows NT. Windowing environments include, but are not limited to, Presentation Manager, Windows and X. The intention of the OPC group is to characterize graphics performance for computer systems running applications, not overall graphics performance.

Current Viewperf Reports

Defining OpenGL Performance

The OPC group has established the following goals to define OpenGL performance:

Viewperf Paves the Way

The first benchmark released by the OpenGL Performance Characterization (OPC) group is Viewperf, which measures the 3D rendering performance of systems running under OpenGL. The OPC project group has worked with independent software vendors (ISVs) to obtain tests, data sets and weights that constitute what is called a viewset. Each viewset represents the graphics rendering portion of an actual application. Numbers are reported in this publication for five viewsets: Parametric Technology's CDRS, IBM's Data Explorer, Intergraph's DesignReview, Alias/Wavefront's Advanced Visualizer, and Lightscape Technologies' Lightscape Visualization System. The ISVs that develop OPC viewsets have provided percentage weights for each test for which a performance number is reported. ISVs have defined these percentages to indicate the relative importance of a test within the overall application.

Viewperf offers the following characteristics:

Several factors make Viewperf unique from other benchmarks:

What Viewperf Measures

Viewperf measures performance for the following entities:

The Five-Step Program

Viewperf is not a single-number benchmark. In order to use it to its fullest advantage, ISVs and users need to relate the benchmark to their actual applications. Here are the five steps recommended for using Viewperf effectively:

  1. Identify software code paths that are important to the application.
  2. Identify the primitives used within the application.
  3. Select datasets that are most appropriate to the application. The datasets should reflect the level of geometry and rasterization found in the application.
  4. Identify attributes and the level at which they are applied (per vertex, per primitive or per frame).
  5. Assign a weight to each path based on the percentage of time in each path and the importance of the path to the application.

What Viewperf Can't Do

Although Viewperf is a good tool for measuring OpenGL performance as it relates to applications, like all benchmarks it has limitations. Most important of these is that it cannot be used to compare performance across different application programming interfaces (APIs). Also, it does not run itself; users must participate in the benchmarking process. When testing and reporting results, Viewperf does not account for the following key factors:

Continued Improvements

Development of Viewperf within the OPC group is an ongoing process, with future enhancements designed to address key graphics applications issues not covered by the current benchmark. Viewperf is available via anonymous ftp.

The OPC group is also working on a performance measurement tool called GLperf, which is expected to be ready for reporting in April 1997. GLperf is designed to measure optimal performance of 2D and 3D graphics primitives across vendor platforms. Like Viewperf, GLperf is designed as a single-source code to run across all platforms and windowing systems supporting OpenGL. Both benchmarks will be maintained by the OPC project subcommittee.

Structure and Membership

The OPC project subcommittee is a non-profit group whose general costs are paid via membership fees or dues. Any company, individual, institution or other group can become a sustaining member at any point in the development phase by remitting these dues. The project subcommittee will put in place and maintain an appeals process through which any interested or affected party may register and have heard a complaint concerning committee action or inaction. The principles of due process and antitrust compliance are adhered to by the subcommittee at all times.

OPC project subcommittee membership includes the following benefits:

Future Plans

Performance measurement for OpenGL under Viewperf and GLperf is just the beginning for the OPC group. Future plans call for the group to develop benchmarks that encompass a wide range of primitives and attributes, including 2D geometry, 3D geometry, and image data. Planned enhancements for Viewperf would address other graphics applications issues such as selecting objects, CPU load, and additional OpenGL features. The ultimate challenge, at least for now, is to develop tools to consistently measure performance for OpenGL applications.

For more information regarding OPC project membership, contact John Spitzer, the group's chair, at 415-933-4760, or e-mail the OPC alias at opc@sgi.com.

[GPC Home] [OPC Project] [PLB Project] [XPC Project]