A Configurable and Portable Benchmark for 3D

0 downloads 0 Views 60KB Size Report
CARLOS AUGUSTO PAIVA DA SILVA MARTINS. 2. 1,2DCC - Dpto. de Ciência da Computação – PUC-MG, Av. Dom José Gaspar 500, Belo Horizonte, MG, ...
A Configurable and Portable Benchmark for 3D Graphics GUSTAVO NUNES COELHO FANTINI1 CARLOS AUGUSTO PAIVA DA SILVA MARTINS2 1,2 DCC - Dpto. de Ciência da Computação – PUC-MG, Av. Dom José Gaspar 500, Belo Horizonte, MG, Brasil 1 [email protected], [email protected] Abstract. This paper describes a software developed to test performance of systems used in real-time 3D graphics generation. This benchmark presents characteristics such as high portability and configurability.

1 Introduction Lately, 3D graphics [1] have grown a lot in popularity since real-time 3D rendering hardware have gotten more affordable as well as powerful. With that in mind, the authors developed a benchmark focused on testing performance of real-time 3D graphics generation on computer systems. Benchmarks can test performance based on a variety of methods. In 3D graphics, one of the most efficient ones is trying to simulate real world applications, then counting the average number of frames generated per second. This method was used in the benchmark developed because it tests the graphics system as a whole and gives results in a quantitative and easy to analyze unit: frames per second (fps). 2 Portability and Configurability To make the software worth the development, two characteristics not present in the benchmarks studied [2] were added to the project: portability and configurability. The portability aspect addresses a major problem in comparing different platforms: the need to recompile or even edit the benchmark source code. The solution proposed was to write the software in Java [3], using OpenGL [4] as the graphics interface to the video hardware. Then compiling the source to bytecodes should make the benchmark as portable as possible, since any system with a JRE (Java Run-time Environment) and OpenGL properly installed should be able to run it without any recompilation work. The benchmark also includes a powerful configuration engine to setup the scene that will be generated. It makes possible to simulate different application scenarios, assuring that the benchmark won't be limited to a certain class of 3D graphics software. 3 Tests and Results Two versions were developed: one in Java and another in C. We tested both ones to validate them, running each of

the versions in two different configurations, a very simple scene and a more complex one (see figure 1).

Figure 1 Both configurations, side by side. Tests were conducted on a Windows 98 system, with a Pentium III 550E processor, 128 MB RAM and a Riva TNT2 graphics board. The benchmark measures overall system performance in 3D graphics generation. The results are presented on table 1.

Simple scene Complex scene

Java bytecodes 403.57 fps 182.26 fps

Native C 403.73 fps 183.96 fps

Table 1 Tests results for both scenes and versions. As a conclusion, two important observations can be made about these results: the considerable difference in the numbers between the two scenes (rows) is a clear indicative of the usefulness of the configuration engine. And the very small difference between the Java and the C versions (columns) proves the correctness and usability of the portable Java program. References [1] James D. Foley, Computer Graphics: Principles and Practice, Addison-Wesley, 1992. [2] Standard Performance Evaluation Corporation, http://www.spec.org, 2001. [3] L. Lemay and R. Cadenhead, Sams Teach Yourself Java 2 in 21 Days, Sams, 1999. [4] M. Woo, J. Neider, T. Davis and D. Shreiner, OpenGL Programming Guide, Addison Wesley, 1999.

Proceedings of the XIV Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI’01) 1530-1834/02 $17.00 © 2001 IEEE