A three-dimensional (3D) benchmark in computer graphics is one or more tests that are performed on a graphics card or graphics acceleration hardware to show the maximum capabilities of the hardware. The tests can be performed by a dedicated piece of benchmarking software, or they can be performed in a more real-world environment by measuring performance within an actual application not necessarily designed as a 3D benchmark. There are many types of benchmarking tests, ranging from rendering multiple complex geometric objects as quickly as possible to reading, writing and copying data from the graphical memory on the graphics card and checking the speed and accuracy. In many instances, a 3D benchmark involves testing the actual graphics hardware in a system and the connection between the central processing unit (CPU), the floating point unit (FPU) and, sometimes, the system's primary random access memory (RAM), all of which can affect the final rendering speed.
One purpose of a 3D benchmark is to test the upwards capabilities of a computer system when it is used to render 3D graphics. There are a number of different types of 3D graphics applications that can each rely on different sets of features, so a dedicated 3D benchmark program usually tests as many varied functions as possible. The numerical results of these tests are not always useful, however, because the raw numbers — such as how many vectors can be transformed in a second — are relatively meaningless in determining real-world performance. Some benchmarking programs, however, calculate an overall score so all computer systems that use the same software can compare scores to see how one system setup compares to another. These scores can be useful and are sometimes used in professional product reviews, although they also might be misleading, especially if some of the features contributing to the score are rarely or never used in real-world applications.
An alternate way to perform a 3D benchmark is to use a real-world program such as a video game or rendering software that uses 3D graphics intensively. These programs generally have some way to show the number of frames per second being displayed. By setting all rendering options to their maximum quality settings, the frames per second can act as a benchmark score for comparison against different setups or different systems that use the same program. Using a real-world program for benchmarking, however, generally does not access all the features of a graphics card and might not present as complete of an assessment of capabilities as a dedicated benchmarking program would.
In most cases, 3D benchmark software uses a specific operating system and a specific graphics library and drivers to run the tests. Many operating systems and drivers are updated regularly, so the benchmarking results are usually not comparable between different versions of the software. Additionally, depending on the drivers and the type of graphics hardware installed, the benchmark results from one type of graphics library, such as OpenGL®, might be vastly different from another, such as DirectX®, even on the same computer system.