How to Use Viewperf


Nearly all benchmarks are designed for a specific purpose. Quite often, however, users broaden that purpose beyond what the benchmark is designed to do, or in some cases they assume the benchmark can't do something that it actually can do. The Viewperf benchmark is no different: it has been both overextended and under-appreciated, sometimes reducing its overall value to the user. Here is a closer look at Viewperf: what it is and what it can and can't do.

Viewperf 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. 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.

[APC Project] [GPC Home] [MBC Project] [OPC Project] [PLB Project]