Hace unos cuantos meses y como parte de un proyecto de creación de videojuegos desarrolle este pequeño test para medir el rendimiento de render de triángulos de manera simple. La prueba se realizó con el objetivo de mostrar cuantos triángulos podría mostrar un juego no optimizado bajo una cierta resolución, en modo ventana o pantalla completa

La prueba genera una cantidad especificada de triángulos y los muestra con un color y posición aleatorio dentro del espacio de dibujo, luego realiza diez mediciones de cuantos frames se pueden dibujar en un segundo. Al terminar todas las pruebas el programa genera un dialogo estándar "guardar como", para obtener la dirección y el nombre de un archivo .txt que contiene todos los datos de la prueba, con alguna información del sistema (memoria, procesador y tarjeta de video).

Todo la funcionalidad de la prueba es accesible a través de la clase CPolygonTest , declarada en el archivo PolygonTest.h. El código típico (incluido en principal.cpp) para ejecutar una prueba es:

C++:
  1. #include <windows.h>
  2.  
  3. #include "ventana.h"
  4. #include "LibreriasGL.h"
  5. #include "PolygonTest.h"
  6.  
  7.  
  8.  
  9.  
  10. int WINAPI WinMain( HINSTANCE    hInstance,HINSTANCE hPrevInstance,LPSTR    lpCmdLine,int nCmdShow)
  11. {
  12.  
  13.     CPolygonTest test;
  14.  
  15.     test.correrPrueba(50000,240,320,false,32,1,10000,1000);
  16.     test.correrPrueba(80000,240,320,false,32,1,10000,1000);
  17.     test.correrPrueba(100000,240,320,false,32,1,10000,1000);
  18.     test.correrPrueba(50000,480,640,false,32,1,10000,1000);
  19.     test.correrPrueba(80000,480,640,false,32,1,10000,1000);
  20.     test.correrPrueba(100000,480,640,false,32,1,10000,1000);
  21.     test.correrPrueba(50000,600,800,false,32,1,10000,1000);
  22.     test.correrPrueba(80000,600,800,false,32,1,10000,1000);
  23.     test.correrPrueba(100000,600,800,false,32,1,10000,1000);
  24.     test.correrPrueba(50000,480,640,true,32,1,10000,1000);
  25.     test.correrPrueba(80000,480,640,true,32,1,10000,1000);
  26.     test.correrPrueba(100000,480,640,true,32,1,10000,1000);
  27.     test.correrPrueba(50000,600,800,true,32,1,10000,1000);
  28.     test.correrPrueba(80000,600,800,true,32,1,10000,1000);
  29.     test.correrPrueba(100000,600,800,true,32,1,10000,1000);
  30.     test.finalizarPruebas();
  31.    
  32.  
  33. }

En una futura versión (de existir) tendría las siguientes modificaciones:

- Posibilidad de elegir entre la versión Microsoft y OpenGL del driver.
- Otros modos de render con optimizaciones.
- Mayores opciones de control sobre OpenGL.

Nota: Este software - código fuente se proveen sin garantía. Úsese bajo su propio riesgo.