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.

SplinterGU

cuando al sistema se le da por correr en modo turbo (entre 2.6 y 3.4), bennugd (soft) el ejemplo, corre a 500-560fps, cuando esta en 1.2 clavado, corre a 200fps (con set_mode 32 bits y con los bloques a 32bits tambien), si el set_mode esta a 16bits el ejemplo corre a 64fps.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Splinter, creo que eso se setea solo en función de la carga de CPU. En teoría, si detecta que se está usando el 90% y pico, debería subirse sola la velocidad.
Eso me lo hacía mi antigua gráfica, y era un peñazo, porque subía y bajaba en función de la carga y el calor de la misma, y esa decisión me bajaba el rendimiento, y tuve que setearla a mano... Pero en estos últimos tiempos está la cosa que ni yo la entiendo. Esta mañana estaba probando PiXTudio, seteaba como gráfica la GeForce, y cuando cambiaba cualquier opción, se me volvía a setear la integrada ???
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)

warrior_rockk

#92
Veamos, tengo algunas conclusiones con unas pruebas que he realizado:


Partamos de la base en que las pruebas hay que realizarlas a 32bits para estar en igualdad de condiciones entre BennuGD y PixTudio acelerado.
Dicho esto, si los procesos utilizan un grafico de un fichero fpg de 32 bits, BennuGD se queda muy por detrás de las versiones aceleradas. Me salia un rendimiento en Bennu de 74fps y en PixTudio tanto OpenGL como Direct3D alcanzaban sin problemas los 250fps. Esta diferencia se hace mayor conforme la tarjeta grafica sea superior y tenga mas capacidad de aceleración. Esto es lo normal y deseable.
Ahora bien, si el proceso utiliza un grafico de un mapa creado en memoria, de las mismas caracteristicas en cuanto a profundidad de bits y tamaño, Pixtudio mantiene los mismos fps que con el fpg, pero el rendimiento de Bennu se dispara!! Cuatriplicando los fps de PixTudio!  No es que PixTudio se vuelva mas lento, es que Bennu alcanza un rendimiento con mapas en memoria increible!
¿Cual es el motivo? No deberia haber diferencia ya que, cuando cargas un fichero grafico, éste pasa a la memoria, con lo que debería tener el mismo tiempo de acceso que un mapa creado en runtime en memoria.
Sea como sea , parece que los tiros van por ahi....

Drumpi

Ahora que lo dices, me viene a la memoria que Splinter dijo (y después se demostró) que BennuGD sufría mucho con los modos a 32bits y perdía más rendimiento del normal. ¿Es probable que eso nos esté dando una falsa impresión de aumento de rendimiento en PiXTudio?
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)

warrior_rockk

Pues acabo de probar otra cosa. Seteando el modo 32bits pero siendo el fichero grafico de 16bits, Bennu alcanza mayor velocidad de PixTudio. No se dispara pero se pone por delante...

josebita

Quote from: warrior_rockk on January 21, 2016, 05:07:53 PM
Ahora bien, si el proceso utiliza un grafico de un mapa creado en memoria, de las mismas caracteristicas en cuanto a profundidad de bits y tamaño, Pixtudio mantiene los mismos fps que con el fpg, pero el rendimiento de Bennu se dispara!! Cuatriplicando los fps de PixTudio!  No es que PixTudio se vuelva mas lento, es que Bennu alcanza un rendimiento con mapas en memoria increible!
¿Cual es el motivo? No deberia haber diferencia ya que, cuando cargas un fichero grafico, éste pasa a la memoria, con lo que debería tener el mismo tiempo de acceso que un mapa creado en runtime en memoria.
Sea como sea , parece que los tiros van por ahi....
Pues es que no entiendo nada, chico...

SplinterGU

Quote from: Drumpi on January 21, 2016, 05:03:44 PM
Splinter, creo que eso se setea solo en función de la carga de CPU. En teoría, si detecta que se está usando el 90% y pico, debería subirse sola la velocidad.
Eso me lo hacía mi antigua gráfica, y era un peñazo, porque subía y bajaba en función de la carga y el calor de la misma, y esa decisión me bajaba el rendimiento, y tuve que setearla a mano... Pero en estos últimos tiempos está la cosa que ni yo la entiendo. Esta mañana estaba probando PiXTudio, seteaba como gráfica la GeForce, y cuando cambiaba cualquier opción, se me volvía a setear la integrada ???

drumpi, en este caso se mandaron un bug en linux... esta todo el mundo quejandose de kde, gtk, gnome, etc... incluso Linus Tordvalds hablando pestes.

uno no puede hacer un rand(2600,3400) y obtener 1200... imposible, terrible bug.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: warrior_rockk on January 21, 2016, 05:07:53 PM
Veamos, tengo algunas conclusiones con unas pruebas que he realizado:


Partamos de la base en que las pruebas hay que realizarlas a 32bits para estar en igualdad de condiciones entre BennuGD y PixTudio acelerado.
Dicho esto, si los procesos utilizan un grafico de un fichero fpg de 32 bits, BennuGD se queda muy por detrás de las versiones aceleradas. Me salia un rendimiento en Bennu de 74fps y en PixTudio tanto OpenGL como Direct3D alcanzaban sin problemas los 250fps. Esta diferencia se hace mayor conforme la tarjeta grafica sea superior y tenga mas capacidad de aceleración. Esto es lo normal y deseable.
Ahora bien, si el proceso utiliza un grafico de un mapa creado en memoria, de las mismas caracteristicas en cuanto a profundidad de bits y tamaño, Pixtudio mantiene los mismos fps que con el fpg, pero el rendimiento de Bennu se dispara!! Cuatriplicando los fps de PixTudio!  No es que PixTudio se vuelva mas lento, es que Bennu alcanza un rendimiento con mapas en memoria increible!
¿Cual es el motivo? No deberia haber diferencia ya que, cuando cargas un fichero grafico, éste pasa a la memoria, con lo que debería tener el mismo tiempo de acceso que un mapa creado en runtime en memoria.
Sea como sea , parece que los tiros van por ahi....

a ver... posiblemente tus graficos cargados en fpg tienen alphas, prueba sin alphas... guardando un grafico solo en un fpg...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: Drumpi on January 21, 2016, 05:13:49 PM
Ahora que lo dices, me viene a la memoria que Splinter dijo (y después se demostró) que BennuGD sufría mucho con los modos a 32bits y perdía más rendimiento del normal. ¿Es probable que eso nos esté dando una falsa impresión de aumento de rendimiento en PiXTudio?

con 32bits yo estoy teniendo mas rendimiento por software que con 16 bits.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: warrior_rockk on January 21, 2016, 05:20:05 PM
Pues acabo de probar otra cosa. Seteando el modo 32bits pero siendo el fichero grafico de 16bits, Bennu alcanza mayor velocidad de PixTudio. No se dispara pero se pone por delante...

por eso, prueba con graficos sin alpha
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

el tratamiento de los alphas requieren mas procesamiento, quizas deba ser eso.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

warrior_rockk

Quote from: SplinterGU on January 21, 2016, 07:46:03 PM
Quote from: warrior_rockk on January 21, 2016, 05:20:05 PM
Pues acabo de probar otra cosa. Seteando el modo 32bits pero siendo el fichero grafico de 16bits, Bennu alcanza mayor velocidad de PixTudio. No se dispara pero se pone por delante...

por eso, prueba con graficos sin alpha


Descartado. El fpg para pruebas contenía un sólo gráfico. Un cuadrado de un solo color sin transparencia.

warrior_rockk

A ver, igual mi base de conocimientos sobre Bennu es incorrecta, porque acabo de hacer otra prueba y me sorprende los resultados.
Ante el aumento tan bestia de rendimiento con los mapas creados en memoria me he puesto a pensar en la manera que los genero, esto es, creo el mapa y hago un map_clear de un color determinado. He probado, en vez de realizar esto, dibujar 4 pixeles de ese mismo color en las esquinas de ese cuadrado y el rendimiento cae por debajo de PixTudio.
¿Es normal el cambio de rendimiento? ¿Bennu es capaz de diferenciar que el mapa es todo del mismo color y calcula mas rápido? ¿Es un tema del tipo de restore de la pantalla al haber mas cambios en pantalla? 

Drumpi

Quote from: SplinterGU on January 21, 2016, 07:42:24 PM
Quote from: Drumpi on January 21, 2016, 05:03:44 PM
Splinter, creo que eso se setea solo en función de la carga de CPU. En teoría, si detecta que se está usando el 90% y pico, debería subirse sola la velocidad.
Eso me lo hacía mi antigua gráfica, y era un peñazo, porque subía y bajaba en función de la carga y el calor de la misma, y esa decisión me bajaba el rendimiento, y tuve que setearla a mano... Pero en estos últimos tiempos está la cosa que ni yo la entiendo. Esta mañana estaba probando PiXTudio, seteaba como gráfica la GeForce, y cuando cambiaba cualquier opción, se me volvía a setear la integrada ???

drumpi, en este caso se mandaron un bug en linux... esta todo el mundo quejandose de kde, gtk, gnome, etc... incluso Linus Tordvalds hablando pestes.

uno no puede hacer un rand(2600,3400) y obtener 1200... imposible, terrible bug.


En ocasiones me alegro de seguir en Kubuntu 12.04 :D

Quote from: warrior_rockk on January 21, 2016, 07:58:13 PM
A ver, igual mi base de conocimientos sobre Bennu es incorrecta, porque acabo de hacer otra prueba y me sorprende los resultados.
Ante el aumento tan bestia de rendimiento con los mapas creados en memoria me he puesto a pensar en la manera que los genero, esto es, creo el mapa y hago un map_clear de un color determinado. He probado, en vez de realizar esto, dibujar 4 pixeles de ese mismo color en las esquinas de ese cuadrado y el rendimiento cae por debajo de PixTudio.
¿Es normal el cambio de rendimiento? ¿Bennu es capaz de diferenciar que el mapa es todo del mismo color y calcula mas rápido? ¿Es un tema del tipo de restore de la pantalla al haber mas cambios en pantalla? 

Puede que influya en el cálculo de los dirty rects (zonas de pantalla que deben ser repintadas en el frame), pero no te puedo decir cómo lo hace PixTudio. Recuerdo haber leido el renderer de Fenix/Bennu, de cómo pintaba la pantalla, y... estoy demasiado cansado para recordarla, pero me parecía "lenta" por la cantidad de veces que se la invocaba y lo genérica que era.
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

ninguna de las 2 cosas... prueba un poco mas por favor, has mas pruebas a ver si los resultados son otra cosa externa a bennugd.

por otro lado, pon el codigo nuevo a 32bits, y el fpg.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2