Bennu Game Development

Foros en Español => Otros DIV-likes => PixTudio => Topic started by: warrior_rockk on January 13, 2016, 07:33:05 PM

Title: Problemas de rendimiento
Post by: warrior_rockk on January 13, 2016, 07:33:05 PM
Creo que estoy haciendo algo mal...
Quería hacer una prueba de rendimiento con PixTudio para comparar la mejora de utilizar aceleración por GPU pero, ante el mismo código compilado con Bennu y PixTudio, me funciona muchísimo mas rápido Bennu ¿?¿? ¿Como puede ser?
Para que os hagáis una idea, el código de prueba era el clásico ejemplo de generar X procesos con gráfico de un rectángulo rebotando por la pantalla.
Title: Re: Problemas de rendimiento PixTudio
Post by: panreyes on January 13, 2016, 07:39:48 PM
Me parece extraño y curioso. El render es infinitamente más rápido en PixTudio que en Bennu.

Esos rectángulos, ¿son mapas cargados o los generas en tiempo de ejecución en cada frame?
Sí que es cierto que el pintado de primitivas es un poco más lento.
Title: Re: Problemas de rendimiento PixTudio
Post by: josebita on January 13, 2016, 08:09:51 PM
¿Código?
Title: Re: Problemas de rendimiento PixTudio
Post by: JaViS on January 13, 2016, 09:24:16 PM
Quote from: josebita on January 13, 2016, 02:18:00 PM
Quote from: JaViS on January 12, 2016, 09:36:14 PM
Necesitamos una wiki para las nuevas variables
Bueno, hay un pequeño embrión aquí:
https://pixtudio.org/docs/ (https://pixtudio.org/docs/)

Como digo, está todo muy a medias aún.

[Edito] Lo que sí habrá será una sección de diferencias con BennuGD
Muy bueno! Realmente útil :)

Enviado desde mi Nexus 6 mediante Tapatalk

Title: Re: Problemas de rendimiento PixTudio
Post by: Drumpi on January 14, 2016, 01:05:51 AM
Quote from: josebita on January 13, 2016, 02:18:00 PM
Quote from: JaViS on January 12, 2016, 09:36:14 PM
Necesitamos una wiki para las nuevas variables
Bueno, hay un pequeño embrión aquí:
https://pixtudio.org/docs/ (https://pixtudio.org/docs/)

Como digo, está todo muy a medias aún.

[Edito] Lo que sí habrá será una sección de diferencias con BennuGD

¡¡¡Wiiiii!!! Genial para ir empezando. Karma++.
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 07:46:10 AM
Son mapas generados pero no se están generando cíclicamente. Se generan al inicio y se reutiliza después. Cuando llegue a casa posteo el código
Title: Re: Problemas de rendimiento PixTudio
Post by: josebita on January 14, 2016, 09:54:52 AM
Quote from: warrior_rockk on January 14, 2016, 07:46:10 AM
Son mapas generados pero no se están generando cíclicamente. Se generan al inicio y se reutiliza después. Cuando llegue a casa posteo el código
Como bien dice Pixel eso debería ser mucho más rápido en PixTudio. Si no lo es, puede ser algún bug, aunque la verdad es que me sorprende un poco.

Lo que sí es algo más lento es pintar sobre mapas o scroll a mapas y cosas así.

[Edito] Pero vamos, que pon el código y le echamos un ojo.
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 05:11:59 PM
Este es el código:

import "mod_key";

import "mod_map";
import "mod_video";
import "Mod_proc";
import "Mod_screen";
import "Mod_draw";
import "Mod_grproc";
import "Mod_rand";


const
cResX = 800;
cResY = 600;
end;


global
int gNumActors = 1000;
int gActorMap;
end;


process main()
private
int i;
begin
set_mode(cResX,cResY,16);
set_fps(0,0);

gActorMap = map_new(16,16,16,0);
map_clear(0,gActorMap,126);

from i=0 to gNumActors;
actor();
end;

repeat
frame;
until(key(_ESC));

let_me_alone();
end;


process actor()
private
int incX;
int incY;
begin
graph = gActorMap;

x = rand(0,cResX);
y = rand(0,cResY);


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

loop
if (x > cResX || x < 0 ) incX *= -1; end;
if (y > cResY || y < 0 ) incY *= -1; end;

x+=incX;
y+=incY;

frame;
end;
end;



La diferencia de velocidad es muy notable. No puedo poner exactamente los FPS porque la consola de PixTudio no tiene implementado el show <variable> todavía (o yo no lo he podido hacer funcionar).
Title: Re: Problemas de rendimiento PixTudio
Post by: josebita on January 14, 2016, 05:43:56 PM
He tocado un pelín tu código para que se escriba el FPS por pantalla de forma que ahora queda así:
import "mod_key"
import "mod_map"
import "mod_video"
import "Mod_proc"
import "Mod_screen"
import "Mod_draw"
import "Mod_grproc"
import "Mod_rand"
import "mod_text"


const
   cResX = 800;
   cResY = 600;
end;


global
   int gNumActors = 1000;
   int gActorMap;
end;


process main()
private
   int i;
begin
   set_mode(cResX,cResY,16);
   set_fps(0,0);

   gActorMap = map_new(16,16,16,0);
   map_clear(0,gActorMap,126);

   from i=0 to gNumActors;
      actor();
   end;

    write_var(0, 0, 0, 0, fps);
    write(0, 0, 10, 0, "PixTudio");    // O "BennuGD"

   repeat
      frame;
   until(key(_ESC));

   let_me_alone();
end;


process actor()
private
   int incX;
   int incY;
begin
   graph = gActorMap;

   x = rand(0,cResX);
   y = rand(0,cResY);


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

   loop
      if (x > cResX || x < 0 ) incX *= -1; end;
      if (y > cResY || y < 0 ) incY *= -1; end;

      x+=incX;
      y+=incY;

      frame;
   end;
end;
Lo que obtengo es que PixTudio anda sobre 140fps en un intel Core i7 con la gráfica integrada (Intel HD Graphics 4400) mientras que Bennu anda sobre los 100fps. Tiene sus altos y bajos (estoy apretando al ordenador a la vez con otras cosas), pero esa diferencia de 40fps parece mantenerse aproximadamente...
Te dejo una imagen:
(http://forum.bennugd.org/index.php?action=dlattach;topic=4148.0;attach=3356)
Quote from: warrior_rockk on January 14, 2016, 05:11:59 PM
La diferencia de velocidad es muy notable. No puedo poner exactamente los FPS porque la consola de PixTudio no tiene implementado el show <variable> todavía (o yo no lo he podido hacer funcionar).
Bueno, la consola de debug en sí, sí que lo soporta (creo que no he quitado ninguna característica importante), el problema es que ahora mismo te tienes que conectar por red para poder usarla con un cliente que está sin acabar :)
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 06:19:04 PM
Pues ahora si que no lo entiendo porque, a mi me pasa al revés!! Adjunto imagen:


(http://forum.bennugd.org/index.php?action=dlattach;topic=4148.0;attach=3358)
PixTudio me corre a unos 60-70 fps y BennuGD llega a 200! He revisado que no me esté confundiendo de compilación.
Por otro lado, la versión que utilizo de PixTudio son los binarios compilados para windows que colgó Pixel del 28 de diciembre.

Title: Re: Problemas de rendimiento PixTudio
Post by: panreyes on January 14, 2016, 06:21:17 PM
Quote from: warrior_rockk on January 14, 2016, 06:19:04 PM
Pues ahora si que no lo entiendo porque, a mi me pasa al revés!! (adjunto imagen)
PixTudio me corre a unos 60-70 fps y BennuGD llega a 200! He revisado que no me esté confundiendo de compilación.
Por otro lado, la versión que utilizo de PixTudio son los binarios compilados para windows que colgó Pixel del 28 de diciembre.
Yo he hecho otra prueba... con un Core i7 4770 y una GTX 960 :)

(http://forum.bennugd.org/index.php?action=dlattach;topic=4148.0;attach=3360)

Por cierto, warrior, ¿qué tarjeta gráfica utilizas?
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 06:22:57 PM
Quote from: PiXeL on January 14, 2016, 06:21:17 PM
Quote from: warrior_rockk on January 14, 2016, 06:19:04 PM
Pues ahora si que no lo entiendo porque, a mi me pasa al revés!! (adjunto imagen)
PixTudio me corre a unos 60-70 fps y BennuGD llega a 200! He revisado que no me esté confundiendo de compilación.
Por otro lado, la versión que utilizo de PixTudio son los binarios compilados para windows que colgó Pixel del 28 de diciembre.
Yo he hecho otra prueba... con un Core i7 4770 y una GTX 960 :)

(http://forum.bennugd.org/index.php?action=dlattach;topic=4148.0;attach=3360)


¿Y que fps tendrías en Bennu con ese equipo?
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 06:24:40 PM
Perdón, no leí la pregunta anterior. La tarjeta es una HD Intel Graphics integrada en un portatil de trabajo. No llegará ni a la versión 4000. Sera una mas antigua...
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 06:26:31 PM
Quote from: warrior_rockk on January 14, 2016, 06:24:40 PM
Perdón, no leí la pregunta anterior. La tarjeta es una HD Intel Graphics integrada en un portatil de trabajo. No llegará ni a la versión 4000. Sera una mas antigua...


Edito: Google dice que lleva una Chipset Intel® QM57 Express con Intel® Graphics Media Accelerator HD[/size]
Title: Re: Problemas de rendimiento PixTudio
Post by: panreyes on January 14, 2016, 06:28:38 PM
Esto es el resultado con Bennugd (ignora que ponga pixtudio)
(http://forum.bennugd.org/index.php?action=dlattach;topic=4148.0;attach=3362)
Title: Re: Problemas de rendimiento
Post by: warrior_rockk on January 14, 2016, 06:31:38 PM
¿Es posible que algunas tarjetas integradas de baja calidad no hagan provecho de aceleración 2D y por eso no obtienen buen rendimiento? De todas maneras es raro porque, entiendo que si una tarjeta no tiene aceleración (cosa que creo que en estos tiempos todas tienen algo), deberían tener los 2 sistemas un rendimiento de renderizado por software similar ¿no?
Mi no entender... ;D
Title: Re: Problemas de rendimiento PixTudio
Post by: panreyes on January 14, 2016, 06:32:07 PM
(Perdón por tanto reply, pero es para que no se pierda la respuesta. Luego splitearemos topic)

warrior, se me acaba de ocurrir. Prueba a ejecutar ese código con pantalla completa. Si es una tarjeta gráfica básica, o tiene bastantes años, es posible que la ventana diezme la velocidad de la aceleración gráfica.

Y otra idea que se me ocurre: ¿Es posible que tu tarjeta gráfica tenga el VSYNC activado obligatorio? :)
Title: Re: Problemas de rendimiento PixTudio
Post by: warrior_rockk on January 14, 2016, 06:49:27 PM
jeje son las 2 mismas cosas que había pensado. En pantalla completa sucede lo mismo, Bennu va mas rapido. La tarjeta parece que no tiene activado el VSYN ya que, desde Bennu puedo cambiar el modo grafico con VSYNC y sin él y obtengo diferencia.

Title: Re: Problemas de rendimiento PixTudio
Post by: josebita on January 14, 2016, 07:02:20 PM
Luego os contesto bien, pero puede ser que SDL no sea capaz de ejecutar la versión de OpenGL necesaria y recurra a usar su propio renderizador por software.
Title: Re: Problemas de rendimiento PixTudio
Post by: josebita on January 14, 2016, 08:46:42 PM
Hablando un poco de todo: vaya pedazo de ordenador que tienes, ¿no, Pixel?
Title: Re: Problemas de rendimiento PixTudio
Post by: panreyes on January 14, 2016, 09:33:23 PM
Justo lo necesario para actualizar 27 máquinas virtuales de Windows una vez al mes en tiempo récord xD
Title: Re: Problemas de rendimiento PixTudio
Post by: FreeYourMind on January 14, 2016, 09:54:08 PM
Probaré en mi pepinaco este finde para ver quien la tiene mas grande  ;D
Title: Re: Problemas de rendimiento PixTudio
Post by: josebita on January 15, 2016, 07:54:42 AM
Pues nada: comparemos, comparemos.
A ver si os pongo qué tal mi mac de 2009.

[Edito] Como bien dice Pixel, en algún momento partiré el tema para no perder el hilo.
Title: Re: Problemas de rendimiento PixTudio
Post by: Goku jr on January 15, 2016, 09:21:00 AM
Yo me apunto con otro i7 de 4 generacion 8gb de ram ssd 100gb y una gtx 660 xd
Ya se que no es mucho comparado con el de pixel,pero voi a probar el programa de los cuadraditos xd
Title: Re:Problemas de rendimiento
Post by: josebita on January 15, 2016, 10:22:52 AM
[He partido el tema, perdón por el mareo]

Mira, warrior_rock. Te dejo un zip que contiene un ejecutable muy pequeño que hace las mismas tareas de inicialización que PixTudio e imprime algo de información de depurado.
¿Podrías ejecutarlo desde la consola del sistema y decirme qué te escribe?
Title: Re:Problemas de rendimiento
Post by: Goku jr on January 15, 2016, 12:30:04 PM
Buenas
a mi bennugd me da de unos 600-620 fps
y pixtudio 1100-1200 fps


Saludos
Title: Re:Problemas de rendimiento
Post by: josebita on January 15, 2016, 12:33:06 PM
Quote from: Goku jr on January 15, 2016, 12:30:04 PM
Buenas
a mi bennugd me da de unos 600-620 fps
y pixtudio 1100-1200 fps


Saludos
Estáis dejando en ridículo entre todos a mi pequeño portátil.
Title: Re:Problemas de rendimiento
Post by: panreyes on January 15, 2016, 12:45:14 PM
Quote from: josebita on January 15, 2016, 12:33:06 PM
Estáis dejando en ridículo entre todos a mi pequeño portátil.

Lógico y normal. Estás comparando torres con portátiles xD
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 15, 2016, 03:53:59 PM
Quote from: josebita on January 15, 2016, 10:22:52 AM
[He partido el tema, perdón por el mareo]

Mira, warrior_rock. Te dejo un zip que contiene un ejecutable muy pequeño que hace las mismas tareas de inicialización que PixTudio e imprime algo de información de depurado.
¿Podrías ejecutarlo desde la consola del sistema y decirme qué te escribe?

En cuando llegue a casa lo pruebo
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 15, 2016, 05:14:39 PM
Este es el resultado




Renderer info:
Accelerated rendering: 1
Render to texture:     1
Rendering driver:      opengl
MAximum texture size:  4096x4096
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 15, 2016, 05:18:53 PM
Una cosa: mi portátil me exige (con windows7 y una NVidia GT 540) que decida manualmente qué programas deben usar aceleración con la tarjeta integrada (por defecto) o con la buena. A ver si es eso.
Title: Re:Problemas de rendimiento
Post by: josebita on January 15, 2016, 06:43:47 PM
Quote from: warrior_rockk on January 15, 2016, 05:14:39 PM
Este es el resultado




Renderer info:
Accelerated rendering: 1
Render to texture:     1
Rendering driver:      opengl
MAximum texture size:  4096x4096

Pues no se me ocurre mucha cosa más allá de lo que dice Drumpi o de que la gráfica sea especialmente lenta (que me extraña: no se me ocurre que deba pintar más lenta que por software...).
Voy a tratar de mandarte unos binarios que usen DirectX en lugar de OpenGL (a través de SDL, claro) para ver si es por los drivers.
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 15, 2016, 06:50:16 PM
En el sobremesa que si que tiene tarjeta aceleradora, si que podía seleccionar, por programa, que tarjeta usaría aceleración. En los portátiles con integrada no he visto nunca la opción. Sea como fuere, aunque fuera el caso de que PixTudio no pudiera aprovechar la aceleración, no debería ir mas lento que BennuGD.
Este fin de semana haré algunas pruebas en otros equipos con distintas tarjetas de vídeo por comparar resultados. Al final, no me preocuparía tanto si fuera un caso aislado del modelo de gráfica de ese portátil pero claro, sin saber la causa, no sabremos si en el futuro posibles usuarios de nuestros juegos se encuentran con esa caída de frames.
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 16, 2016, 07:38:49 PM
He probado en un ordenador sobremesa mas potente pero sin tarjeta aceleradora dedicada, y obtengo los mismos resultados. PixTudio alcanza 160fps y BennuGD 550!
Me parece que la gráfica integrada que lleva la placa base una Intel HD Graphics 4000...
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 17, 2016, 08:55:58 PM
Os traigo mis resultados, desilusión total, con pixtudio no salen los textos! pero es mas rapido que bennu, se nota.
con bennu me quedo por debajo de pixel, pero que pepino tienes ?!


(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3370)



Title: Re:Problemas de rendimiento
Post by: josebita on January 18, 2016, 05:03:16 PM
Quote from: warrior_rockk on January 15, 2016, 06:50:16 PM
En el sobremesa que si que tiene tarjeta aceleradora, si que podía seleccionar, por programa, que tarjeta usaría aceleración. En los portátiles con integrada no he visto nunca la opción. Sea como fuere, aunque fuera el caso de que PixTudio no pudiera aprovechar la aceleración, no debería ir mas lento que BennuGD.
Este fin de semana haré algunas pruebas en otros equipos con distintas tarjetas de vídeo por comparar resultados. Al final, no me preocuparía tanto si fuera un caso aislado del modelo de gráfica de ese portátil pero claro, sin saber la causa, no sabremos si en el futuro posibles usuarios de nuestros juegos se encuentran con esa caída de frames.
No estoy muy de acuerdo con que no debería ir más lento que BennuGD. Corrígeme si me equivoco, pero la Intel GMA es un modelo (de gama media-baja) que salió hace ya unos añitos. Si tienes una combinación así, puede que los drivers OpenGL no estuvieran muy finos o que no soportaran ciertas extensiones que hagan que OpenGL vaya mejor.
Dicho esto, voy a tratar de compilarte (hoy) una versión que use DirectX en lugar de OpenGL, para tratar de ver si es cosa de los drivers.

Piensa que la combinación para la que realmente es importante la aceleración por hardware es cuando tienes una CPU poco potente y una GPU media/alta. Estoy pensando en los dispositivos móviles: no es factible tener un juego a 60fps+resolución HD en un iPad (o en una tablet/móvil Android) sólo por CPU.

Creo, en todo caso, que los ordenadores donde esoq ue te pasa a tí ocurra serán los menos, sin hacer un estudio exhaustivo.
Quote from: FreeYourMind on January 17, 2016, 08:55:58 PM
Os traigo mis resultados, desilusión total, con pixtudio no salen los textos! pero es mas rapido que bennu, se nota.
con bennu me quedo por debajo de pixel, pero que pepino tienes ?!
¿Estás usando una versión "antigua" de PixTudio?. Corregí el bug que hacía que la fuente del sistema no se mostrara en noviembre.
Title: Re:Problemas de rendimiento
Post by: josebita on January 18, 2016, 06:56:48 PM
Mira, warrior_rock. Te dejo una compilación del código en el commit 978e103 (https://bitbucket.org/josebagar/pixtudio/commits/978e1036bd72880a8387f8e32b9ca094c27780f8):
https://josebagar.com/owncloud/index.php/s/RA9W8aguMkjPu32

Incluye tu ejemplo y dos bats: uno que ejecuta el código utilizando OpenGL y otro que se ejecuta con Direct3D. Prueba con ésto y a ver qué tal va. Entiendo que deberías ver una diferencia de rendimiento entre ambos (a favor de Direct3D).

En el mismo portátil en que te puse la foto pero corriendo Windows 10 en lugar de Linux el rendimiento de BennuGD y PixTudio anda parejo, por cierto :)
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 18, 2016, 07:07:13 PM
¿Has subido el archivo correcto? EN el comprimido no hay ningún bat, ni me código. Tan solo una versión de PixTudio Blender del 28 de Abril y una version del Player del 28 de Diciembre que ademas, casca al ejecutar la prueba...
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 18, 2016, 08:30:23 PM
es que no poneis links directos a las releases, me pierdo para buscarlos
Title: Re:Problemas de rendimiento
Post by: josebita on January 18, 2016, 08:31:04 PM
Ups, me he equivocado:
Este debería estar bien:
https://josebagar.com/owncloud/index.php/s/RA9W8aguMkjPu32
Title: Re:Problemas de rendimiento
Post by: josebita on January 18, 2016, 08:32:32 PM
Quote from: FreeYourMind on January 18, 2016, 08:30:23 PM
es que no poneis links directos a las releases, me pierdo para buscarlos
No hay releases aún...
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 18, 2016, 08:41:03 PM
joer pixel que maquina tienes ? ya se que no hay releases pero asi las betas tambien hay que buscarlas xD


(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3372)


gran trabajo josebita







Title: Re:Problemas de rendimiento
Post by: josebita on January 18, 2016, 08:46:02 PM
Quote from: FreeYourMind on January 18, 2016, 08:41:03 PM
joer pixel que maquina tienes ? ya se que no hay releases pero asi las betas tambien hay que buscarlas xD

gran trabajo josebita
Tengo pensado destacar algunas releases y subirlas a la web, pero aún no estoy muy a gusto con lo que tengo. Dame un par de semanas y subo binarios a pixtudio.org
¿Eso es direct3d? ¿Qué máquina?
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 18, 2016, 09:37:48 PM
en la foto anterior tienes el resumen de mi maquina
Title: Re:Problemas de rendimiento
Post by: josebita on January 18, 2016, 09:55:13 PM
Quote from: FreeYourMind on January 18, 2016, 09:37:48 PM
en la foto anterior tienes el resumen de mi maquina
¡Es cierto! Muchas gracias.
Title: Re:Problemas de rendimiento
Post by: Goku jr on January 18, 2016, 10:13:45 PM
Buenas!
Pues Josebita debo decirte que a mi con D3D me va mas lento que con OpenGL

DIRECT 3D
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3374)


OPENGL
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3376)
Title: Re:Problemas de rendimiento
Post by: josebita on January 19, 2016, 11:17:37 AM
Quote from: Goku jr on January 18, 2016, 10:13:45 PM
Buenas!
Pues Josebita debo decirte que a mi con D3D me va mas lento que con OpenGL
Me refería al driver de Intel. Pero vamos, que con 1000fps creo que nos da para hacer juegos :)
Por cierto, Free, las últimas versiones que compila Pixel están alojadas en en hilo del FAQ (http://forum.bennugd.org/index.php?topic=4108.0).
Quote from: FreeYourMind on January 18, 2016, 08:41:03 PM
ya se que no hay releases pero asi las betas tambien hay que buscarlas xD
Title: Re:Problemas de rendimiento
Post by: Goku jr on January 19, 2016, 11:36:30 AM
Vale perdon
Me pudo el ansia xd
Saludos
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 19, 2016, 12:38:40 PM
como cambio a opengl y directx ? con opengl ira mas rapido no ?
Title: Re:Problemas de rendimiento
Post by: josebita on January 19, 2016, 12:51:03 PM
Quote from: FreeYourMind on January 19, 2016, 12:38:40 PM
como cambio a opengl y directx ? con opengl ira mas rapido no ?
Es algo que sólo se soporta desde ayer y con la versión que subí. Debes cambiar el valor de la variable de entorno SDL_HINT_RENDER_DRIVER a cualquiera de los valores descritos aquí (https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER). PERO no recomiendo que lo hagáis salvo que haga falta: puede haber bugs en SDL que hagan que el comportamiento del renderizador basado en Direct3D no sea idéntico al basado en OpenGL y eso redundaría en bugs (ya nos los hemos encontrado).

Por defecto se usa OpenGL, que es lo más portable y sencillo.
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 19, 2016, 02:29:57 PM
donde lo haría al llamar el interprete ?


Algo asi ?

SDL_HINT_RENDER_DRIVER=direct3d
pixinterprete mijuego.dcb
Title: Re:Problemas de rendimiento
Post by: josebita on January 19, 2016, 02:38:34 PM
En Windows puedes hacer así:
SET SDL_HINT_RENDER_DRIVER="direct3d"
pxtp -d test.dcb
(El "-d" no te hace falta, pero te imprimirá en consola el driver que se está usando, que debería ser "direct3d")
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 19, 2016, 04:54:13 PM
Ya he probado los diferentes modos y, en resumen, OpenGL muy lento, Direct3D algo mas rapido y Bennu muchisimo mas rapido. He realizado las pruebas en 3 equipos distintos en los cuales todos llevan tarjetas integradas Intel de distinta generación (pero de la misma familia).


(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3378)
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3380)
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3382)
Title: Re:Problemas de rendimiento
Post by: Erkosone on January 19, 2016, 06:00:38 PM
Hola gente, yo me he encontrado con algo muy parecido en java acelerado por openGL y bueno, quería compartir mi experiencia.


1. con el render por software java2D directamente las operaciones con 'pixels' se hacen en ram, sin mas, unicamente en ram, esto es lento.
2. Con P2D que es el render que uso que tira de openGL sucede que el rendimiento aumenta una brutalidad, PERO todo cambia cuando hago operaciones a nivel de pixel.. ya que por openGL no se pinta a nivel de pixel, si no a nivel de textura o eso he entendido yo.. y bueno.. si no hago lecturas o escrituras a nivel de pixel me buela el render. en el momento en que por openGL hago un simple dumpeo de pixels de una imagen a otra.. pff.. es mucho mas lento que por software ya que  tengo que capturar el pixel de la memoria de la targeta, lo copio a la ram, lo proceso, y lo devuelvo a la memoria grafica en forma de textura otra vez.. y así para cada pixel.


Este es un cuello de botella que yo me he encontrado con openGL, no se si esta info os vale para algo, pero creo que alomejor van por aquí los tiros..


Yo para hacer un virtual resolution en mi engine dumpeo constantemente a nivel de pixel un mapa que es el que uso de blitter al surface que es la pantalla o ventana.. esto me mata el rendimiento.. pero si lo hago sin aceleración grafica funciona mucho mas rapido.

Title: Re:Problemas de rendimiento
Post by: Erkosone on January 19, 2016, 07:57:07 PM
Os pego un trozo de mi blitter en java.. ya se que no tiene absolutamente nada que ver con vuestro código, pero mirad, la linea que está comentada es el antiguo sistema de volcado de imagen al render final de la memoria de vídeo, y lo que está sin comentar es el sistema actual de volcado..


La diferencia es que antes en Android me trabajaba mi plantilla de java a unos 3 FPS y ahora a unos 80 fps.. el cambio es una barbaridad, quizá algún trozo de vuestro proyecto está tirando de copia de imagen o lectura a nivel pixel? en serio que se nota una locura el cambio de sistema y en realidad hacen lo mismo en pantalla ;)




  if(virtualResolution) {
    //copy(blitter, 0, 0, virtualResolutionWidth, virtualResolutionHeight, 0, 0, resolutionWidth, resolutionHeight);
    beginShape();
    texture(blitter);
    vertex(0,0,    0,0);
    vertex(resolutionWidth,0, virtualResolutionWidth,0);
    vertex(resolutionWidth, resolutionHeight, virtualResolutionWidth,virtualResolutionHeight);
    vertex(0, resolutionHeight, 0,virtualResolutionHeight);
    endShape();
  }
  else {
    //copy(blitter, 0, 0, resolutionWidth, resolutionHeight, 0, 0, resolutionWidth, resolutionHeight);
    beginShape();
    texture(blitter);
    vertex(0,0,    0,0);
    vertex(resolutionWidth,0, virtualResolutionWidth,0);
    vertex(resolutionWidth, resolutionHeight, virtualResolutionWidth,virtualResolutionHeight);
    vertex(0, resolutionHeight, 0,virtualResolutionHeight);
    endShape();
  }





Digamos que antes pegaba mi buffer de graficos en la memoria de vídeo a nivel de "imagen", y ahora creo un rectangulo por openGL y le asigno como textura mi blitter, y cambia la cosa que se mea la perra jeje.
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 19, 2016, 08:14:41 PM
el maximo con directx ha sido 995
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 20, 2016, 02:22:09 AM
Lo siento, chicos, he intentado probarlo pero mi Kubuntu no tiene SDL2 en los repositorios, y no puedo actualizar mi Precise Pangolín (12.04) hasta que termine cierto proyecto.
A ver si mañana arranco con Windows y os doy mi resultado.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 02:55:33 AM
a ver, me voy a meter en la conversacion...

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.
en un momento te comentaron si tenias seteado el vsync forzado o no para opengl, no importa si tu no tienes activado el vsync en el programa en bennugd, esta configuracion se puede hacer global, desde la app de configuracion opengl, te hablo de memoria, pero el seteo es algo asi como "Forzar uso Vsync o dejar lo decida la aplicacion". habias comentado que activandolo y desactivandolo obtenias diferencias.
por otra parte, pantalla completa va mas rapido que ventana.
luego freeyourmind, no te sirve de mucho comparar un ejemplo en bennu con un write en pantalla vs uno sin write en pantalla, el dibujado de textos es muy, muy costoso.

ahh!!! se me ocurre que estas probando en modo ventana, y opengl creo que va seteado por defecto a 32 bits, tu programa setea a 16 y no se a cuanto tengas el desktop, pero tu programa ira mas lento si la profundidad de colores no coincide con la del escritorio. En que resolucion tenes seteado el escritorio?
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 20, 2016, 10:31:32 AM
He revisado la configuración de la sincronización vertical y la tengo en dejar que decida la aplicación, con lo que no me afecta. De todas maneras, lo aquí se está tratando de averiguar , no si es más rápido Opengl o d3d, si no, porque con equipos con gráfica integrada, es más rápido bennu sin aceleración, que el resto. He realizado las pruebas a pantalla completa y comprobando que tengo la misma profundidad de bits y nada, bennu sigue saliendo ganador....
Title: Re:Problemas de rendimiento
Post by: panreyes 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.
Title: Re:Problemas de rendimiento
Post by: 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.
Title: Re:Problemas de rendimiento
Post by: panreyes on January 20, 2016, 12:51:19 PM
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... :__)
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 20, 2016, 02:12:13 PM
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).
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 02:35:54 PM
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
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 02:46:56 PM
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.

(http://forum.bennugd.org/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVQ4jY2SP4viQBiHX0UQWz/AXb+VX8Iu/YqFhdhcd5BKEOTKC9jJFYrFgo3FIjYiCRauhTCQDMp4bJFklzCuLJLOWNj8rpDMJt7u7Q08xQzze953/hAR0el4QJLw8KR4fXkE/Wtch01zjP6gmxLsd9uPJafjAf1BF82WjmZLR61eRa1eVfNmS4cMxP8JksGk6FPB6XjAii1Qq1fBBYMMBL79+InvDIrbB0CzIpSmQHF0RnF0vkiTFxZX7A+6MOzwU0FxdEZKYJpj1fp1eO5KzF0JzYreF/iekzr77QMUhh2q1zDsUIULPQl6fXkEFww53cWKLWCaY3DBVMuaFWHuSsT7fM/5W5DTXYUMBGQgUJoCpelFst9tcc84DDuE7znQrAiFnrwIkuGY/W6rBIYdQgYC7RmHZkXwPQf3jL8JiCglISLKVCaqzfhZfc9RcMFwc/eMfGd9EWQbS+R0F9nGEtnGEpnKBJnKJFWxPNygPNygPePggqE942nBdTjG9xyUhxvVcqEnsWILrNjiTfCRJN9ZI99Zp8LxWsy73ztTmYCI6ObuGV/7Tym+/PqtICL6A7F/dNYyWabFAAAAAElFTkSuQmCC)
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 20, 2016, 02:59:46 PM
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...
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 04:04:45 PM
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:~#     

Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 20, 2016, 05:19:12 PM
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é)
Title: Re:Problemas de rendimiento
Post by: 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.
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 20, 2016, 06:02:44 PM
Como no te justifiques Pixel pienso que has inflado los numeros xD
Title: Re:Problemas de rendimiento
Post by: 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.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 06:33:24 PM
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?
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 06:34:14 PM
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...
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 06:36:38 PM
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.
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 20, 2016, 06:43:51 PM
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
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 07:16:44 PM
bien! :)

cuenta josebita que has cambiado
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 20, 2016, 07:20:04 PM
No es ningún cambio en el core, el ejemplo distinto:





// import modules
IMPORT "mod_say";
IMPORT "mod_proc";
IMPORT "mod_grproc";
IMPORT "mod_map";
IMPORT "mod_text";
IMPORT "mod_key";
IMPORT "mod_video";
IMPORT "mod_screen";
IMPORT "mod_draw";
IMPORT "mod_scroll";
import "mod_mouse";


GLOBAL
   int graphics_lib;
   int object1_id;
   int scroll_window;
   int scroll_blit_graph;
   int font;




PROCESS int main();
BEGIN
    set_mode(1204,768,32);
    set_fps(0,0);


    // load the fpg file with the graphics
    graphics_lib=fpg_load("graf2.fpg");
    font = fnt_load("font.fnt");


    // create an extended scroll, drawn on the "scroll_blit_graph".
    scroll_window=scroll_start(0, graphics_lib, 1, 0, 0, 3);


    // create the two objct processes.
    object1_id=object1(graphics_lib);


    // write instructions
    write_var(font , 0, 0, 0, fps);




    WHILE (NOT key(_esc))
        FRAME;
    END


    // stop scroll window.
    scroll_stop(0);




    // kill all processes, execpt the "main" process.
    let_me_alone();
END






PROCESS int object1 (int file);


PRIVATE


BEGIN


    graph=3;


    ctype=c_scroll;
    cnumber=c_0; // make this process visible in window 0


    scroll[0].camera=id;


    x=100;
    y=100;


    LOOP
        x+=5;
        y+=5;
        FRAME;
    END
END



Carga de gráficos, uso de fuente distinta al sistema y scroll. He intentado probar mi ejemplo cargando los graficos y usando el archivo de fuente, por si eso fuera lo relevante, y parece ser que se igualan los fps de ambos sistemas.
¿Te dice algo josebita?
Title: Re:Problemas de rendimiento
Post by: josebita on January 20, 2016, 07:45:22 PM
Lo único que he cambiado es el ejemplo; el código de PixTudio no ha cambiado nada.
Tengo una intuición de que el ejemplo de warrior_rock favorece a Bennu por algo, pero no entiendo por qué.

Splinter: tienes instrucciones de compilación para Ubuntu en pixtudio.org
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 07:52:06 PM
josebita, veo que en tu ejemplo le agregaste scroll, eso no muestra mejora porque va mas rapido el ejemplo de warrior_rock, lo unico que demuestra es que el scroll de PixTudio es mejor que el de BennugGD.

corrijeme si me equivoco.
Title: Re:Problemas de rendimiento
Post by: panreyes on January 20, 2016, 09:02:00 PM
La Intel integrada no era mía, era de un PC que tenía en reparación en la tienda en la que trabajo :)
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3399)

Más pruebas del rendimiento en mi equipo, para que os fiéis xD
ambos:
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3393)

solo bennugd:
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3395)

solo pixtudio:
(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3397)
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 10:16:08 PM
yo Pixel me fio de lo que dices... simplemente estamos intentando sacar conclusiones.

por otro lado, muy lindos numeros pixel, corriendo ambos a la vez, no hay gran diferencia con respecto a solos... las hay, pero no tanto...

indudablemente la version opengl rules...
Title: Re:Problemas de rendimiento
Post by: FreeYourMind on January 20, 2016, 10:27:07 PM
afinal el windows 10 optimiza xD
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 20, 2016, 11:22:34 PM
probando en mi linux, con grafica intel, bennugd normal, con set_mode a 16bits me tira el ejemplo 64 fps, ahora si pongo a 32 bits me tira 200fps.

lo raro de todo esto es que las 8 cps estan en idle... imagino que todo se lo esta comiendo el video...

solo probe bennugd normal, que tengo en mi entorno...

raro tambien que con un i7 que puede llegar a 3.5Ghz tire tan poco. el tema que la cpu esta bloqueada en 1.2Ghz.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 12:09:17 AM
caramba, en un momento, tras tocar el administrador de energia del monitor, corri el mismo ejemplo anterior y en bennu paso 450 fps. las 8 cpus empezaron a danzar a lo loco, ahora lo vuelvo a probar y volvio a ir lento, y las cpus fijas en 1.2ghz

en fin...
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 21, 2016, 02:27:15 AM
Es que pixel tiene un ordenador capaz de hacer andar el Pix Pang en una resolución 4K, es decir, en 4 monitores 1024x768 extendiendo el escritorio a lo ancho :D :D :D
Hombre, yo creo que de 140 a 170FPS es un cambio interesante. No sé hasta qué punto acelera una gráfica usando SDL y gráficos 2D (lo que más aceleran las gráficas hoy día son los entornos 3D :D), pero ese "20%" extra es la diferencia entre tener al Echo dando tirones a poder reducir la CPU de la Wiz... Aunque creo que la Wiz no soporta SDL2 ^^U

El tema de ahorro de energía es lo que tiene, Splinter, por eso he dicho que mi prueba ha sido rápida, porque no he podido configurar el portátil para que vaya a rendimiento óptimo.
No, esta tarde al final me he tenido que poner a arreglarle el ordenador a mi hermana (que se acaba de enterar que la bios le indica el problema que tiene por "código morse"), y probar un escáner en Windows7 sin drivers para Windows7, y no he probado la última versión. A ver si mañana me dejan, y de paso, derribo unos cuantos Tie Fighters.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 05:09:23 AM
jajaja! ;)
Title: Re:Problemas de rendimiento
Post by: panreyes on January 21, 2016, 09:14:12 AM
Quote from: Drumpi on January 21, 2016, 02:27:15 AM
Es que pixel tiene un ordenador capaz de hacer andar el Pix Pang en una resolución 4K, es decir, en 4 monitores 1024x768 extendiendo el escritorio a lo ancho :D :D :D

No, ese lo tuve en 2008 xDDD

(http://forum.bennugd.org/index.php?action=dlattach;topic=4162.0;attach=3401)
Title: Re:Problemas de rendimiento
Post by: josebita on January 21, 2016, 09:43:24 AM
Eso es precisamente lo que digo:
quizás el ejemplo de warrior_rock es un caso "raro" en el que PixTudio va más lento de lo que debería bien por algún bug o bien símplemente por ser un caso raro.
Lo digo sólo como intuición, porque todo lo que he visto hasta ahora me indica que PixTudio es MUCHO más rápido que BennuGD en los códigos que hemos probado (de nuevo: excepto en temas de pintar sobre un mapa como scroll a mapa o las primitivas gráficas, donde es algo más lento). Ya digo que estoy tratando de probarlo para ver si hay algo raro, pero no lo veo.
Quote from: SplinterGU on January 20, 2016, 07:52:06 PM
josebita, veo que en tu ejemplo le agregaste scroll, eso no muestra mejora porque va mas rapido el ejemplo de warrior_rock, lo unico que demuestra es que el scroll de PixTudio es mejor que el de BennugGD.

corrijeme si me equivoco.
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 21, 2016, 02:04:47 PM
Bueno, probando yo con el scroll me da estos valores:
BennuGD: 154FPS
PiXTudio DirectX: 260FPS
PiXTudio OpenGL: 215FPS

He de decir que si le digo que use la tarjeta integrada, PiXTudio pierde entre un 5% y un 10% de velocidad, por lo que algo sí que hace.
También digo que yo nunca he instalado DX ni OpenGL, tiro con lo que traía el portátil mas lo que se me instalara con el Sonic Generations :D :D :D

Quote from: PiXeL on January 21, 2016, 09:14:12 AM
Quote from: Drumpi on January 21, 2016, 02:27:15 AM
Es que pixel tiene un ordenador capaz de hacer andar el Pix Pang en una resolución 4K, es decir, en 4 monitores 1024x768 extendiendo el escritorio a lo ancho :D :D :D

No, ese lo tuve en 2008 xDDD

Más aún a mi favor: te habrás actualizado el equipo y ahora puedes usar un Jumbotrón tu solo :lol:
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 03:59:54 PM
Quote from: josebita on January 21, 2016, 09:43:24 AM
Eso es precisamente lo que digo:
quizás el ejemplo de warrior_rock es un caso "raro" en el que PixTudio va más lento de lo que debería bien por algún bug o bien símplemente por ser un caso raro.
Lo digo sólo como intuición, porque todo lo que he visto hasta ahora me indica que PixTudio es MUCHO más rápido que BennuGD en los códigos que hemos probado (de nuevo: excepto en temas de pintar sobre un mapa como scroll a mapa o las primitivas gráficas, donde es algo más lento). Ya digo que estoy tratando de probarlo para ver si hay algo raro, pero no lo veo.
Quote from: SplinterGU on January 20, 2016, 07:52:06 PM
josebita, veo que en tu ejemplo le agregaste scroll, eso no muestra mejora porque va mas rapido el ejemplo de warrior_rock, lo unico que demuestra es que el scroll de PixTudio es mejor que el de BennugGD.

corrijeme si me equivoco.

coincido contigo, seguramente no esta haciendo uso de drivers acelerados, o el driver emula opengl.

por otro lado y siendo parte de lo mismo, me esta volviendo loco la speed de la cpu en mi notebook... e intentando ver como esta seteado, obtengo esto:


root@splinter-C500:~# cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 2.60 GHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    3200 MHz max turbo 4 active cores
    3200 MHz max turbo 3 active cores
    3300 MHz max turbo 2 active cores
    3400 MHz max turbo 1 active cores


estamos locos!


  current policy: frequency should be within 2.60 GHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz (asserted by call to hardware).


esta en performace, y dice que el governor en performace, podra decidir que velocida entre 2.6 y 3.4 ghz usara. (hasta aca todo bien)

y luego dice

"su CPU actualmente esta corriendo a 1.20Ghz"

WTF!!??? 1.2, no era entre 2.6 y 3.4????!!!!!

malditos developments actuales de linux!
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 04:03:28 PM
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.
Title: Re:Problemas de rendimiento
Post by: 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 ???
Title: Re:Problemas de rendimiento
Post by: 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....
Title: Re:Problemas de rendimiento
Post by: 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?
Title: Re:Problemas de rendimiento
Post by: 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...
Title: Re:Problemas de rendimiento
Post by: josebita on January 21, 2016, 05:46:32 PM
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...
Title: Re:Problemas de rendimiento
Post by: 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.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 07:44:44 PM
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...
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 07:45:34 PM
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.
Title: Re:Problemas de rendimiento
Post by: 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
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 07:46:44 PM
el tratamiento de los alphas requieren mas procesamiento, quizas deba ser eso.
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 21, 2016, 07:48:02 PM
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.
Title: Re:Problemas de rendimiento
Post by: 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? 
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 21, 2016, 08:25:36 PM
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.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 21, 2016, 08:49:51 PM
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.
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 21, 2016, 09:54:26 PM
Vale, mas pruebas. He probado, en vez de dibujar los 4 pixels de la esquina de un cuadrado, rellenar el cuadrado con pixels que, a efectos finales, es el mismo resultado que un map_clear, es decir, un mapa en memoria de cierto tamaño y con un color de fondo. ¿Debería comportarse igual? Pues no. Si pintas todos los pixeles, el rendimiento es mucho menor que haciendo un map_clear. Es decir, map_clear() es lo que ayuda a Bennu a alcanzar esas cifras de velocidad. ¿Porqué? Es lo que se me escapa...
Adjunto el ejemplo. Se pueden probar las 3 variantes: carga del grafico de un fpg de 32 bits, generación del mapa pixel a pixel, o generación con map_clear.
Es necesario comentar y descomentar cada variante.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 22, 2016, 03:09:20 AM
porque cuando pintas con pixeles estas marcando el mapa como dirty, y requiere verificacion del mismo al hacer frame, quizas hay un error en el chequeo o por alguna condicion no esta marcando el mapa como analizado, y lo esta reanalizando en cada frame.

lo voy a verificar.

aunque creo que hay chequeo de limites, en tu ejemplo, estas haciendo un map_put_pixel fuera del rango del grafico, si el grafico tiene un tamaño de 40 pixels, el from debe ser de 0 hasta 39 (suman 40 pixels), pero no creo que eso este pisando nada, porque creo que hay chequeo de limites.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 26, 2016, 03:50:45 AM
genio warrior_rockk!

encontre un bug, era lo que pensaba... es correcta tu prueba, me ayudaste a encontrar un bug.

el tema es que cuando un mapa es tocado (modificado) se lo marca para analisis, para verificar en el siguiente render, el chequeo deberia ver si este es un grafico limpio (GI_CLEAN) o un grafico sin alphas (GI_NOCOLORKEY), el tema es que el analisis no estaba funcionando bien, solo estaba buscando por CLEAN y marcando como NOCOLORKEY...

ahora ya lo corregi, y tu ejemplo, funciona a ~650fps con map_clear como con map_put_pixel... en un ratito subo el fix al SVN.

sepan disculparme si no genero binarios, pero seguramente alguno de los presentes lo generara.

gracias nuevamente!
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 26, 2016, 03:51:21 AM
me falto decir, el tema, es que las funciones de bliiter dibujan muchisimo mas rapido los graficos sin alpha que los que tienen alpha.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 26, 2016, 04:05:43 AM
voy a hacer un poco mas de pruebas... no se si me mande un moco o algunos ejemplos que tengo no funcionan...
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 26, 2016, 04:59:00 AM
cometi un error, no tengo el fix aun, pero hay un tema ahi.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 26, 2016, 05:47:20 AM
ahora pareciera que si...
Title: Re:Problemas de rendimiento
Post by: josebita on January 26, 2016, 10:40:50 AM
Quote from: SplinterGU on January 26, 2016, 05:47:20 AM
ahora pareciera que si...
Acabo de subir los cambios a PixTudio, mil gracias :)
Title: Re:Problemas de rendimiento
Post by: JaViS on January 26, 2016, 11:27:48 AM
Quote from: SplinterGU on January 26, 2016, 03:50:45 AM
genio warrior_rockk!

encontre un bug, era lo que pensaba... es correcta tu prueba, me ayudaste a encontrar un bug.

el tema es que cuando un mapa es tocado (modificado) se lo marca para analisis, para verificar en el siguiente render, el chequeo deberia ver si este es un grafico limpio (GI_CLEAN) o un grafico sin alphas (GI_NOCOLORKEY), el tema es que el analisis no estaba funcionando bien, solo estaba buscando por CLEAN y marcando como NOCOLORKEY...

ahora ya lo corregi, y tu ejemplo, funciona a ~650fps con map_clear como con map_put_pixel... en un ratito subo el fix al SVN.

sepan disculparme si no genero binarios, pero seguramente alguno de los presentes lo generara.

gracias nuevamente!
A mi me RE  servirían los binarios, estoy usando BennuGD mucho en un proyecto, y me gustaría testear ese fix, sobretodo en Android y Linux, que tenían muy bajo rendimiento

Enviado desde mi Nexus 6 mediante Tapatalk

Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 26, 2016, 11:37:34 AM
Vale, pues si lo he entendido bien, el bug afecta a todos aquellos graficos que no usen alpha que se estaban dibujando mas lentos de lo que debería. Esto es un buen avance para BennuGD ya que, incrementará el rendimiento en algunos proyectos actuales pero nos vuelve al punto de partida respecto al rendimiento PixTudio vs Bennu. A falta de que probara con los nuevos binarios de ambos, parece que Bennu triplica la velocidad usando gráficos creados en memoria usando tarjetas de video integradas y no sabemos porqué...
Title: Re:Problemas de rendimiento
Post by: josebita on January 26, 2016, 01:35:00 PM
Quote from: warrior_rockk on January 26, 2016, 11:37:34 AM
Vale, pues si lo he entendido bien, el bug afecta a todos aquellos graficos que no usen alpha que se estaban dibujando mas lentos de lo que debería. Esto es un buen avance para BennuGD ya que, incrementará el rendimiento en algunos proyectos actuales pero nos vuelve al punto de partida respecto al rendimiento PixTudio vs Bennu. A falta de que probara con los nuevos binarios de ambos, parece que Bennu triplica la velocidad usando gráficos creados en memoria usando tarjetas de video integradas y no sabemos porqué...
Insisto en que me huele a que es, símplemente, un test que no es representativo del rendimiento general de PixTudio ni de la ganancia que obtendrías en un juego real al usarlo, porque depende de otros factores: el mismo test en mi ordenador obtengo que:
* En Windows 10, BennuGD es más rápido
* En Fedora 23, PixTudio es más rápido.
Por eso puse el ejemplo del scroll: tengo la impresión de que juegos más complejos mostrarán que PixTudio es más rápido en general (aunque algunas operaciones, como ya he dicho, sí puedan ser más lentas).
Y digo que tengo esa impresión porque es lo que hemos visto en los juegos que hemos ido probando...
Title: Re:Problemas de rendimiento
Post by: warrior_rockk on January 26, 2016, 01:40:14 PM
Si, creo que tienes razón. Es un ejemplo muy pequeño y simplista que conforme el código crece, Pixtudio irá ganando terreno en rendimiento. Pues nada, haya servido este post para encontrar un bug y ánimo con Pixtudio que la verdad es que estamos muy emocionados. Si se consigue al final un buen rendimiento para Android, no tendremos límites!!
Title: Re:Problemas de rendimiento
Post by: josebita on January 26, 2016, 02:07:55 PM
Quote from: warrior_rockk on January 26, 2016, 01:40:14 PM
Si, creo que tienes razón. Es un ejemplo muy pequeño y simplista que conforme el código crece, Pixtudio irá ganando terreno en rendimiento. Pues nada, haya servido este post para encontrar un bug y ánimo con Pixtudio que la verdad es que estamos muy emocionados. Si se consigue al final un buen rendimiento para Android, no tendremos límites!!
Hay sorpresas en camino :P
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 26, 2016, 03:00:13 PM
no puedo crear grafico, porque el blitter del SVN creo que esta roto, porque cuando giro un grafico segun no se que condiciones hace mirror... tengo que revisar eso.

@josebita, como es que en windows 10 bennugd va mas rapido? no estaras con librerias que hacen opengl por soft?
Title: Re:Problemas de rendimiento
Post by: Drumpi on January 26, 2016, 04:43:56 PM
Iba a preguntar si el bug este no tendría algo que ver con el crash de las últimas versiones de Bennu, pero veo que no ^^U
Tendría que ver si alguno de mis proyectos grandes (filtro anti-spam ON) va más rápido con PiXTudio o no, pero veo que la cosa se iba a alargar mucho. Aun me tiene que decir Pixel qué pasa con ¡¡EL COMPILADORRRRR!! que no me coje los .inc/.h o las subcarpetas, que es el que sabe cómo funciona el programa :P
Title: Re:Problemas de rendimiento
Post by: La momia que fuma on January 30, 2016, 02:53:51 AM
Quote from: josebita on January 26, 2016, 01:35:00 PMInsisto en que me huele a que es, símplemente, un test que no es representativo del rendimiento general de PixTudio ni de la ganancia que obtendrías en un juego real al usarlo


Bueno, yo por mi parte, aunque no he probado los tests estos, habiendo probado mi demo técnica (http://forum.bennugd.org/index.php?topic=2708.0) de Spiderman, que aunque resultona, la programé con los pies y se nota en mi castaña de ordenador si la pongo a full HD, con Pixstudio va orgásmicamente suave, doy fe notarial :)


(Eso si, hasta que se arregle el bug de get_real_point con angle no me puedo columpiar como Stan Lee manda ::) )
Title: Re:Problemas de rendimiento
Post by: SplinterGU on January 30, 2016, 07:05:56 AM
Quote from: Drumpi on January 26, 2016, 04:43:56 PM
Iba a preguntar si el bug este no tendría algo que ver con el crash de las últimas versiones de Bennu, pero veo que no ^^U
Tendría que ver si alguno de mis proyectos grandes (filtro anti-spam ON) va más rápido con PiXTudio o no, pero veo que la cosa se iba a alargar mucho. Aun me tiene que decir Pixel qué pasa con ¡¡EL COMPILADORRRRR!! que no me coje los .inc/.h o las subcarpetas, que es el que sabe cómo funciona el programa :P

no tiene que ver, porque creo recordar que los angulos estan invertidos porque "fixee" algo al respecto (aunque se ve que no lo fixee del todo o es una prueba que meti en el svn, no se...) tengo que hacer memoria...
Title: Re:Problemas de rendimiento
Post by: josebita on January 31, 2016, 08:49:26 PM
Quote from: La momia que fuma on January 30, 2016, 02:53:51 AM
(Eso si, hasta que se arregle el bug de get_real_point con angle no me puedo columpiar como Stan Lee manda ::) )
¿Puedes aislarme el bug y anotarlo aquí[url]?
Así lo tengo presente, que si no se me olvidan estas cosas... :/ (https://bitbucket.org/josebagar/pixtudio/issues/new)
Title: Re:Problemas de rendimiento
Post by: La momia que fuma on February 02, 2016, 02:15:17 PM

Quote from: josebita on January 31, 2016, 08:49:26 PM
Quote from: La momia que fuma on January 30, 2016, 02:53:51 AM
(Eso si, hasta que se arregle el bug de get_real_point con angle no me puedo columpiar como Stan Lee manda )
¿Puedes aislarme el bug y anotarlo aquí (http://xn--aqu-tma)?
Así lo tengo presente, que si no se me olvidan estas cosas... :/


Hecho!
Title: Re:Problemas de rendimiento
Post by: josebita on February 02, 2016, 03:02:01 PM
Quote from: La momia que fuma on February 02, 2016, 02:15:17 PM

Quote from: josebita on January 31, 2016, 08:49:26 PM
Quote from: La momia que fuma on January 30, 2016, 02:53:51 AM
(Eso si, hasta que se arregle el bug de get_real_point con angle no me puedo columpiar como Stan Lee manda )
¿Puedes aislarme el bug y anotarlo aquí (http://xn--aqu-tma)?
Así lo tengo presente, que si no se me olvidan estas cosas... :/
Hecho!
Ya te he visto, lo arreglo y aviso.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on February 18, 2016, 12:38:15 PM
levanto este hilo para comentar que probe el ejemplo inicial, el que creo el hilo, con bennugd2...

y en mi maquina un Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz (corriendo con turbo a ~3.4 GHz) el programa me da:

con bennugd1: ~525 fps
con bennugd2 (opengl): ~135 fps

lo raro es que otras pruebas, por ejemplo, mi SabreWulf (no se si recuerdan ese demo que puse hace tiempo con un scroll gigante y un muñequito moviendose):

en bennugd1 me da unos ~570fps
en bennugd2 me da unos ~1300fps

ahora tambien note que si el grafico del fondo del scroll lo cargo con un set_mode previo a la carga seteado a 32bits, la performance se va a la mierda, y bennugd1 se va a ~260fps... asi que un set_mode a 16bits en bennugd1 mejora la performance con los load_png (o cargar fpg de 16bits)... se ve que el render de graficos de 16bits sobre 32bits es mas performante que 32 sobre 32 (por la cantidad de operaciones que se hacen en 32bits)... al menos en el scroll que es lo que tiene que dibujar toda la pantalla....

quizas se me esta escapando algo, estos son comentarios rapidos sobre la primer prueba...

lo que apunto con todo esto, es que el problema de performance es sin dudas por la cantidad de texturas que se estan renderizando con opengl con estas placas intel... o tambien puede que estemos haciendo alguna operacion que consume mucho muy repetitiva y que se pueda mejorar...
Title: Re:Problemas de rendimiento
Post by: josebita on February 18, 2016, 01:28:40 PM
Algo se nos escapa seguro. Una cosa que yo no soporto en PixTudio son los dirty rectangles, que probablemente tenga que ver con ésto que estamos viendo.

Mi objetivo ahora mismo es que juegos razonables puedan ir con soltura a 60fps en la gráfica de un móvil de gama media (donde la resolución puede, fácilmente, ser 1080p). Si cumplo con eso, estoy contento.

Dicho lo cual, lo que queda claro viendo estas cosas es que el renderer por software de BennuGD está muy bien implementado y saca buen partido de la CPU.
Title: Re:Problemas de rendimiento
Post by: SplinterGU on February 18, 2016, 04:12:06 PM
Quote from: josebita on February 18, 2016, 01:28:40 PM
Algo se nos escapa seguro. Una cosa que yo no soporto en PixTudio son los dirty rectangles, que probablemente tenga que ver con ésto que estamos viendo.

Mi objetivo ahora mismo es que juegos razonables puedan ir con soltura a 60fps en la gráfica de un móvil de gama media (donde la resolución puede, fácilmente, ser 1080p). Si cumplo con eso, estoy contento.

Dicho lo cual, lo que queda claro viendo estas cosas es que el renderer por software de BennuGD está muy bien implementado y saca buen partido de la CPU.

yo tambien elimine las dirty rects, aunque quizas creo que se puede implementar en sdl, tengo que revisar nuevamente... no se si mejorara el rendimiento o no...

tengo otro ejemplo, pero con 10000 procesos, y ahi el rendimiento se va al cuerno en bennugd1 y en bennugd2, aunque bennugd2 va mejor... hablando de 8fps vs 13fps... patetico ambos casos... quizas ahi influye el runtime...

con respecto al render de bennugd por soft, se podria mejorar incluso con asm, pero ahi la portabilidad tambien va a verse afectada...
Title: Re:Problemas de rendimiento
Post by: SplinterGU on July 13, 2016, 04:00:19 AM
sigo probando con esto cada tanto para comparar resultados de los avances... (y finalmente pude hacer funcionar pixtudio en mi maquina!)

bien los numeros que me dieron fueron

pixtudio 118fps
bennugd2 155fps (SDL2, con render opengl)
bennugd1 508fps

demas decir que esto es caso especial
Title: Re:Problemas de rendimiento
Post by: josebita on July 13, 2016, 03:21:20 PM
Quote from: SplinterGU on July 13, 2016, 04:00:19 AM
sigo probando con esto cada tanto para comparar resultados de los avances... (y finalmente pude hacer funcionar pixtudio en mi maquina!)

bien los numeros que me dieron fueron

pixtudio 118fps
bennugd2 155fps (SDL2, con render opengl)
bennugd1 508fps

demas decir que esto es caso especial
¡Vaya! Por lo menos tu bennugd2 es mucho más rápido que pixtudio...
Title: Re:Problemas de rendimiento
Post by: panreyes on July 13, 2016, 03:34:18 PM
Quote from: josebita on July 13, 2016, 03:21:20 PM
¡Vaya! Por lo menos tu bennugd2 es mucho más rápido que pixtudio...

No pasa nada, como es software libre, luego le robas el trabajo AAJAJJAJJAJAJAJ xD
Title: Re:Problemas de rendimiento
Post by: SplinterGU on July 13, 2016, 03:38:47 PM
Quote from: josebita on July 13, 2016, 03:21:20 PM
Quote from: SplinterGU on July 13, 2016, 04:00:19 AM
sigo probando con esto cada tanto para comparar resultados de los avances... (y finalmente pude hacer funcionar pixtudio en mi maquina!)

bien los numeros que me dieron fueron

pixtudio 118fps
bennugd2 155fps (SDL2, con render opengl)
bennugd1 508fps

demas decir que esto es caso especial
¡Vaya! Por lo menos tu bennugd2 es mucho más rápido que pixtudio...

hasta que este liberado...
Title: Re:Problemas de rendimiento
Post by: SplinterGU on July 13, 2016, 03:39:37 PM
Quote from: panreyes on July 13, 2016, 03:34:18 PM
Quote from: josebita on July 13, 2016, 03:21:20 PM
¡Vaya! Por lo menos tu bennugd2 es mucho más rápido que pixtudio...

No pasa nada, como es software libre, luego le robas el trabajo AAJAJJAJJAJAJAJ xD

es la idea... aun tengo muchos temas por resolver para una version 2.0
Title: Re:Problemas de rendimiento
Post by: Drumpi on July 14, 2016, 02:14:50 AM
No le hagais caso: esos 500fps son el resultado de no hacer nada. Cuando tenga que pintar algo ya veremos hasta cuantos FPS cae MWAHAHAHAHAHAHA!!!!!!

A mi me gusta la idea de tener dos motores donde escoger, desde luego, pero sigo pensando desde el primer día que si se aunasen, quedaría algo genial en muy poco tiempo. Luego me acuerdo que cada uno programa a su manera y que los programadores, en general, somos muy territoriales :D :D :D
Title: Re:Problemas de rendimiento
Post by: SplinterGU on July 14, 2016, 02:58:41 AM
Quote from: Drumpi on July 14, 2016, 02:14:50 AM
No le hagais caso: esos 500fps son el resultado de no hacer nada. Cuando tenga que pintar algo ya veremos hasta cuantos FPS cae MWAHAHAHAHAHAHA!!!!!!

A mi me gusta la idea de tener dos motores donde escoger, desde luego, pero sigo pensando desde el primer día que si se aunasen, quedaría algo genial en muy poco tiempo. Luego me acuerdo que cada uno programa a su manera y que los programadores, en general, somos muy territoriales :D :D :D

no, esos 500fps no son sin hacer nada... esos 500fps son porque son graficos sin transparencias, totalmente solidos, sin escalado y sin rotaciones... usan las mas livianas de las funciones de dibujado del blitter.
Title: Re:Problemas de rendimiento
Post by: JaViS on July 14, 2016, 01:02:02 PM
Quote from: SplinterGU on July 14, 2016, 02:58:41 AM
Quote from: Drumpi on July 14, 2016, 02:14:50 AM
No le hagais caso: esos 500fps son el resultado de no hacer nada. Cuando tenga que pintar algo ya veremos hasta cuantos FPS cae MWAHAHAHAHAHAHA!!!!!!

A mi me gusta la idea de tener dos motores donde escoger, desde luego, pero sigo pensando desde el primer día que si se aunasen, quedaría algo genial en muy poco tiempo. Luego me acuerdo que cada uno programa a su manera y que los programadores, en general, somos muy territoriales :D :D :D

no, esos 500fps no son sin hacer nada... esos 500fps son porque son graficos sin transparencias, totalmente solidos, sin escalado y sin rotaciones... usan las mas livianas de las funciones de dibujado del blitter.




O sea que, si no uso rotaciones, ni transparencias, ni escalado, mi juego debería volar?
Title: Re:Problemas de rendimiento
Post by: SplinterGU on July 14, 2016, 02:30:59 PM
Quote from: JaViS on July 14, 2016, 01:02:02 PM
Quote from: SplinterGU on July 14, 2016, 02:58:41 AM
Quote from: Drumpi on July 14, 2016, 02:14:50 AM
No le hagais caso: esos 500fps son el resultado de no hacer nada. Cuando tenga que pintar algo ya veremos hasta cuantos FPS cae MWAHAHAHAHAHAHA!!!!!!

A mi me gusta la idea de tener dos motores donde escoger, desde luego, pero sigo pensando desde el primer día que si se aunasen, quedaría algo genial en muy poco tiempo. Luego me acuerdo que cada uno programa a su manera y que los programadores, en general, somos muy territoriales :D :D :D

no, esos 500fps no son sin hacer nada... esos 500fps son porque son graficos sin transparencias, totalmente solidos, sin escalado y sin rotaciones... usan las mas livianas de las funciones de dibujado del blitter.




O sea que, si no uso rotaciones, ni transparencias, ni escalado, mi juego debería volar?

claro, deberia ir mas rapido, si... transparencias no solo es alpha, sino tambien es no agujeros... si tu grafico no tiene pixels transparentes (valor 0), ni tampoco alpha, deberia ir muy rapido.

ya que utiliza la funcion de rendereado mas rapida... despues le sigue, sin alphas (blends son alphas tambien) pero con pixels transparentes (valor 0)... y despues el resto de las combinaciones...

B_NOCOLORKEY es el render mas rapido.
Title: Re:Problemas de rendimiento
Post by: Drumpi on July 15, 2016, 01:10:38 AM
Pensaba que se me había entendido el tono sarcástico con el MWUAHAHAHAHAHA!!!!
:P

Por cierto, hoy ya no lo comento porque es muy tarde, pero me he dado cuenta de que dos scrolls independientes de un solo gráfico son más rápidos que un solo scroll de dos planos. He conseguido como 50 o 100 fps extra (sobre 1050fps) en el motor de scroll tileado sólo con eso ???
Title: Re:Problemas de rendimiento
Post by: SplinterGU on July 15, 2016, 02:41:23 AM
Quote from: Drumpi on July 15, 2016, 01:10:38 AM
Pensaba que se me había entendido el tono sarcástico con el MWUAHAHAHAHAHA!!!!
:P

Por cierto, hoy ya no lo comento porque es muy tarde, pero me he dado cuenta de que dos scrolls independientes de un solo gráfico son más rápidos que un solo scroll de dos planos. He conseguido como 50 o 100 fps extra (sobre 1050fps) en el motor de scroll tileado sólo con eso ???

buen tip... habria que ver si se puede optimizar eso.

gracias!