Problemas de rendimiento

Started by warrior_rockk, January 13, 2016, 07:33:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Quote from: SplinterGU on January 20, 2016, 02:55:33 AM
a ver, me voy a meter en la conversacion...
Por supuesto :)
Quote from: SplinterGU on January 20, 2016, 02:55:33 AM
warrior_rockk, con una intel grafica integrada te deberia ir mejor que BennuGD, yo tengo tambien una integrada intel (aunque tengo un i7 8 cores portatil) y mi version bennugd opengl, va muchisimo mas rapida que la version bennugd con render por software, asi que la version pixstudio deberia ir tambien mas rapido.
¿Dices que va más rápido de forma general o para este test en particular?

No había caído en que las profundidades de color no son las mismas, pero en la diferencia de rendimiento puede tener algo que ver (por razones que aún no entiendo) el test en cuestión.
Lo digo porque dejo otro test (este nuevo para scrolls) donde en mi Intel HD 4400 (en Windows 10 de 64 bits) obtengo ~300fps en BennuGD y >700fps en PixTudio. Pruébalo, por favor, warrior_rock y nos cuentas qué tal va.

De forma genérica, PixTudio es mucho más rápido que BennuGD pintando, salvo en el caso de pintar a scroll y similares. De hecho, la diferencia que vimos en todas las plataformas (Windows, Linux, OSX y Android) con el Explosive Dinosaurs cuando pasamos de BennuGD a una versión pasada de PixTudio acelerada por GPU fueron brutales. De tener que sacar el juego a 16bpp en Ouya con Bennu a poder sacarlo a 60fps con PixTudio (corrígeme Pixel sobre los datos de fps si me equivoco, pero creo que son correctos).

Dicho lo cual: puede que aún haya bugs míos o cuellos de botella introducidos por no usar OpenGL directamente sino sobre SDL, pero en general es mucho más rapido incluso con mi gráfica integrada.

panreyes

Te corrijo Joseba...

Explosive Dinosaurs, en OUYA, originalmente funcionaba a 16bpp, e intentaba funcionar a 30fps, quedándose en ~20fps en la mayoría de los momentos.

Ahora funciona a 60fps estables... a 32bpp... :__)

Drumpi

#62
He hecho una prueba rápida en mi equipo con la penultima versión que subió Josebita (la anterior a la de hoy) con los siguientes resultados:
Con BennuGD r307 he tenido picos de 340 FPS
Con PiXTudio en OpenGL me llega a 120 FPS
Con PiXTudio en DX tengo como 250 FPS
(Ver adjuntos, que no sé ponerlos en el mensaje ???)

He intentado activar la aceleración por HW a mano, pero da igual que desde el panel de NVidia lo deje en automático que lo ponga en máximo rendimiento, que los resultados son los mismos, así que intuyo que no he podido meterle la aceleración.
Mi equipo es un Windows7 Intel Core i5-480M con una GeForce GT540M y una Intel integrada, pero no sé el modelo exacto (¿las tarjetas integradas no son como las de sonido, que todas eran clónicas de la SBlaster64 o la 5.1?).

Voy a probar con esta última versión (y a ver si esta tarde puedo actualizar los controladores).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Quote from: PiXeL on January 20, 2016, 10:43:38 AM
Se me ocurre también que en PixTudio el modo de bits es siempre 32 (aunque pongas set_mode(x,y,16)) y que en Bennu lo ejecutas en 16 bits. La comparativa no es justa entonces :)

Por otro lado, las tarjetas gráficas Intel con 3 años o más son muy lentas, en comparación con las actuales. Hice una prueba hoy con un test que suele coger 170fps en Intel actuales y con un portátil de hace 5 años, con una Intel integrada, iba a 17fps.

es lo que digo, pixstudio la tiene fija a 32bits... entonces...

pixstudio 32bits
bennugd 16
escritorio no se...

por favor, prueba poner escritorio y bennugd en 32bits, y nos cuentas
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: josebita on January 20, 2016, 12:29:56 PM
Quote from: SplinterGU on January 20, 2016, 02:55:33 AM
a ver, me voy a meter en la conversacion...
Por supuesto :)
Quote from: SplinterGU on January 20, 2016, 02:55:33 AM
warrior_rockk, con una intel grafica integrada te deberia ir mejor que BennuGD, yo tengo tambien una integrada intel (aunque tengo un i7 8 cores portatil) y mi version bennugd opengl, va muchisimo mas rapida que la version bennugd con render por software, asi que la version pixstudio deberia ir tambien mas rapido.
¿Dices que va más rápido de forma general o para este test en particular?

No había caído en que las profundidades de color no son las mismas, pero en la diferencia de rendimiento puede tener algo que ver (por razones que aún no entiendo) el test en cuestión.
Lo digo porque dejo otro test (este nuevo para scrolls) donde en mi Intel HD 4400 (en Windows 10 de 64 bits) obtengo ~300fps en BennuGD y >700fps en PixTudio. Pruébalo, por favor, warrior_rock y nos cuentas qué tal va.

De forma genérica, PixTudio es mucho más rápido que BennuGD pintando, salvo en el caso de pintar a scroll y similares. De hecho, la diferencia que vimos en todas las plataformas (Windows, Linux, OSX y Android) con el Explosive Dinosaurs cuando pasamos de BennuGD a una versión pasada de PixTudio acelerada por GPU fueron brutales. De tener que sacar el juego a 16bpp en Ouya con Bennu a poder sacarlo a 60fps con PixTudio (corrígeme Pixel sobre los datos de fps si me equivoco, pero creo que son correctos).

Dicho lo cual: puede que aún haya bugs míos o cuellos de botella introducidos por no usar OpenGL directamente sino sobre SDL, pero en general es mucho más rapido incluso con mi gráfica integrada.

de forma general, al menos eso recuerdo... ayer me iba a poner a recomponer mi entorno de desarrollo BennuGD, pero no he podido hacerme el momento... vere si hoy logro hacerlo... ya ni me acuerdo en que estado quedo bennugd... y ya no se si invertir tiempo primero en la version opengl o meter en la version 64bits... en fin, veremos que pasa.

es raro esto, por favor, verifiquen resolucion de escritorio, seteos de acceleracion en cada caso, que sistema operativo estan usando.

pixstudio deberia ser mucho mas rapido en el render... josebita, no tendras una version con log de debug o algun fflush perdido por ahi?

por otra parte, esto funciona??? sin asignarlo a ningun lugar???


!rand(0,1) ? incX = 1 : incX = -1;
!rand(0,1) ? incY = 1 : incY = -1;


diablos, esto es un bug del compilador.

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

warrior_rockk

Ok, esta tarde cuando llegue a casa hago las pruebas con los bits de profundidad.

PD: no debería funcionar las líneas con el operador ternario? Por? De hecho se comportó exactamente como esperaba jeje...

SplinterGU

#66
deberia servir para asignar algo... tampoco para meter 2 asignaciones...

serviria en este caso:

incX = !rand(0,1) ? 1 : -1;

pero no como esta, al menos que se haya hecho intencional, yo no lo recuerdo.

por ejemplo en C:


root@splinter-C500:~# cat /tmp/x.c
int main(int argc, char *argv[]){

int a;

int b = 0;

!b ? a = 1: a = -1;

}

root@splinter-C500:~# make /tmp/x
cc     /tmp/x.c   -o /tmp/x
/tmp/x.c: In function 'main':
/tmp/x.c:7:15: error: lvalue required as left operand of assignment
!b ? a = 1: a = -1;
               ^
<integrado>: recipe for target '/tmp/x' failed
make: *** [/tmp/x] Error 1


vs


root@splinter-C500:~# cat /tmp/x.c
int main(int argc, char *argv[]){

int a;

int b = 0;

a = !b ? 1: -1;

}

root@splinter-C500:~# make /tmp/x
cc     /tmp/x.c   -o /tmp/x
root@splinter-C500:~#     

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

warrior_rockk

Ya sé lo que quieres decir. Pues la verdad es que en otros lenguajes, he utilizado el operador ternario de esa manera y ha colado jeej Sobretodo lo uso así, cuando la asignación de cada lado del "semicolon" son a variables distintas (caso raro, lo sé)

warrior_rockk

Volviendo al tema, he probado realizar las 3 pruebas con el escritorio a 32bits, el codigo de ejemplo en 32bits,pantalla completa y sin forzado de sincronización vertical por parte de la tarjeta y, los resultados son los mismos, BennuGD casi cuadruplica los fps de las versiones aceleradas.
Veo en los mensajes que ya no soy el único que le pasa y Drumpi tambien ha tenido mayor tasa con Bennu.

FreeYourMind

Como no te justifiques Pixel pienso que has inflado los numeros xD

josebita

warrior_rock: prueba por favor el ejemplo que te he enlazado esta mañana y me cuentas.

SplinterGU

Quote from: warrior_rockk on January 20, 2016, 05:32:20 PM
Volviendo al tema, he probado realizar las 3 pruebas con el escritorio a 32bits, el codigo de ejemplo en 32bits,pantalla completa y sin forzado de sincronización vertical por parte de la tarjeta y, los resultados son los mismos, BennuGD casi cuadruplica los fps de las versiones aceleradas.
Veo en los mensajes que ya no soy el único que le pasa y Drumpi tambien ha tenido mayor tasa con Bennu.

caramba, ya me has desconcertado... entonces no queda otra que suponer que la placa no tiene soporte opengl y tira de emulacion (opengl por software). tienes drivers actualizados o va con el standard del operativo? si no los tienes, intenta ver en intel si hay drivers.

procesador, plataforma?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: FreeYourMind on January 20, 2016, 06:02:44 PM
Como no te justifiques Pixel pienso que has inflado los numeros xD

jajaja, me ha causado gracia como lo has dicho... pixel debe tener una grafica terrible, asi que la cuestion debe ser con las intel...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: josebita on January 20, 2016, 06:28:26 PM
warrior_rock: prueba por favor el ejemplo que te he enlazado esta mañana y me cuentas.

joseba, no tengo un bennugd funcional en este momento, me podrias pasar uno ya compilado con todas las dependencias para ubuntu 15.10? BennuGD y PixStudio, asi pruebo... si tienes, sino pues nada.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

warrior_rockk

Quote from: josebita on January 20, 2016, 06:28:26 PM
warrior_rock: prueba por favor el ejemplo que te he enlazado esta mañana y me cuentas.


Lo he probado y... ¡Sorpresa! BennuGD se queda atras. Consigue 130fps y las versiones openGl y Direct3D 170fps.
No es mucha diferencia pero es la primera vez que se pone por delante jeje