Benchmark casero para Ubuntu

+1
0
-1

Queridos amigos el otro dia un amigo mio me trajo un script para hacer un benchmark de las librerias gl sobre mi nvidia en mi ubuntu. Y me gustaria compartirlo con vosotros.

1º Generais un archivo con extension py (en mi caso testgl.py). Y copias lo siguiente:

from Tkinter import *
from OpenGL.GL import *
from OpenGL.Tk import *

import time

class ColorBox ( Frame ):

	def __init__( self ):
		Frame.__init__( self )
		self.master.title( "Color Box" )
		self.master.geometry( "640x480" )
		self.pack( expand = YES, fill = BOTH )

		self.openGL = Opengl( self, double = 1)
		self.openGL.pack ( expand = YES, fill = BOTH )

		self.openGL.redraw = self.redraw
		self.openGL.set_eyepoint( 20 )

		self.amountRotated = 0
		self.increment = 2
		
		self.compta = 0

		self.starttime = time.time()

		self.update()



	def redraw( self, openGL ):
		glClearColor( 1.0, 1.0, 1.0, 0.0 )
		glClear( GL_COLOR_BUFFER_BIT )
		glDisable( GL_LIGHTING )

		red = ( 1.0, 0.0, 0.0 )
		green = ( 0.0, 1.0, 0.0 )
		blue = ( 0.0, 0.0, 1.0 )
		purple = ( 1.0, 0.0, 1.0 )

		vertices = \
			[ (( -3.0, 3.0, -3.0 ), red),
			  (( -3.0, -3.0, -3.0 ), green),
			  (( 3.0, 3.0, -3.0 ), blue),
			  (( 3.0, -3.0, -3.0 ), purple),
			  (( 3.0, 3.0, 3.0 ), red),
			  (( 3.0, -3.0, 3.0 ), green),
			  (( -3.0, 3.0, 3.0 ), blue),
			  (( -3.0, -3.0, 3.0 ), purple),
			  (( -3.0, 3.0, -3.0 ), red),
			  (( -3.0, -3.0, -3.0 ), green) ]

		glBegin( GL_QUAD_STRIP )

		for vertex in vertices:
			location, color = vertex
			apply( glColor3f, color )
			apply( glVertex3f, location )

		glEnd()


	def update( self ):
		self.compta += 1

		if( (time.time() - self.starttime) > 5):
			self.master.title( "Color Box FPS " + str(self.compta / 5) )
			self.compta = 0
			self.starttime = time.time()

		if self.amountRotated >= 500:
			self.increment = -2

		if self.amountRotated <= 0:
			self.increment = 2

		glRotate( self.increment, 1.0, 1.0, 1.0 )
		
		self.amountRotated += self.increment

		self.openGL.tkRedraw()
		#self.openGL.after( 10, self.update )
		self.openGL.after( 1, self.update )

def main():
	ColorBox().mainloop()

if __name__ == "__main__":
	main()

2º Despues desde un terminal lo ejecutais mediante la siguiente orden:
sudo python testgl.py

3º Conclusion. Yo lo probe primero con el driver que viene por defecto en hoary y despues con el driver especifico de nvidia(nvidia-glx), y os digo que hay una diferencia abismal. Tambien os digo que antes de instalar el driver os mireis el foro para instalarlo correctamente sino tendreis problemas para iniciar el modo grafico X.

Un saludo.
SE ACEPTAN CRITICAS Y CUMPLIMIENTOS

Comentarios

Imagen de Geo

Está bueno el programita, tengo una Radeon 9200 con los drivers por defecto, no sé si me haga falta instalar otro driver pero si lo hago, probaré y veré qué tanta es la diferencia :).

Gracias por el dato :).

Saludos,
José Jorge (Geo).

~~~~~~~~~~~~~~~~~~~
La imaginación es el límite.

Imagen de KarmaQ3

El programa esta genial, sencillo pero muy util. Claro que tb se pueden hacer pruebas con bastantes protectores de pantalla que tienen la opcion de contar FPS.

De todos modos lo realmente util seria construir una comparativa de resultados para saber si nuestro hardware esta rindiendo lo que se supone que debiera. Asi sabriamos si necesitamos instalar unos drivers mejores o si con los que tenemos la tarjeta rinde adecuadamente.

Yo tengo una grafica Intel 855 de portatil con 64MB de memoria compartida (nada del otro jueves) y se me estabiliza a 244 fps en un escritorio limpio con unos cuantos gdeklets.

Estaria tambien genial abrir un hilo en el foro en referencia a esto o incluso un foro completo sobre rendimiento con distintos tipos de benchmarking. De momento ahi os dejo mi dato, espero los vuestros.

Intel 855 64MB -> 244fps

Imagen de Anónimo

GeForce fx 5600

479FPS :D

Imagen de Anónimo

me da el siguiente error:
# File "acceleracion3d.py", line 9
def __init__( self ):
^
IndentationError: expected an indented block
yo le he puesto acceleracion3d.py

Imagen de Geo

me sale un mensaje que me indica que no existe el módulo OpenGL (o algo así), ¿alguien sabría qué es lo que debo instalar?

Saludos,
José Jorge (Geo).

~~~~~~~~~~~~~~~~~~~
La imaginación es el límite.