Autor Tema: Problemas de rendimiento  (Leído 13331 veces)

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Problemas de rendimiento
« en: Enero 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.
« última modificación: Enero 15, 2016, 10:21:06 am por josebita »

panreyes

  • Administrator
  • *****
  • Mensajes: 2233
  • Karma: 81
    • panreyes.com
Re: Problemas de rendimiento PixTudio
« Respuesta #1 en: Enero 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.

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re: Problemas de rendimiento PixTudio
« Respuesta #2 en: Enero 13, 2016, 08:09:51 pm »
¿Código?

JaViS

  • Global Moderator
  • *****
  • Mensajes: 1295
  • Karma: 28
    • Anarkade
Re: Problemas de rendimiento PixTudio
« Respuesta #3 en: Enero 13, 2016, 09:24:16 pm »
Necesitamos una wiki para las nuevas variables
Bueno, hay un pequeño embrión aquí:
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

Working on Anarkade. A couch multiplayer 2D shooter.

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6329
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Problemas de rendimiento PixTudio
« Respuesta #4 en: Enero 14, 2016, 01:05:51 am »
Necesitamos una wiki para las nuevas variables
Bueno, hay un pequeño embrión aquí:
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++.
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

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Re: Problemas de rendimiento PixTudio
« Respuesta #5 en: Enero 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

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re: Problemas de rendimiento PixTudio
« Respuesta #6 en: Enero 14, 2016, 09:54:52 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.

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Re: Problemas de rendimiento PixTudio
« Respuesta #7 en: Enero 14, 2016, 05:11:59 pm »
Este es el código:
Código: [Seleccionar]
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).

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re: Problemas de rendimiento PixTudio
« Respuesta #8 en: Enero 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í:
Código: [Seleccionar]
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:

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 :)
« última modificación: Enero 14, 2016, 05:53:06 pm por josebita »

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Re: Problemas de rendimiento PixTudio
« Respuesta #9 en: Enero 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.

« última modificación: Enero 14, 2016, 06:21:22 pm por warrior_rockk »

panreyes

  • Administrator
  • *****
  • Mensajes: 2233
  • Karma: 81
    • panreyes.com
Re: Problemas de rendimiento PixTudio
« Respuesta #10 en: Enero 14, 2016, 06:21:17 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 :)



Por cierto, warrior, ¿qué tarjeta gráfica utilizas?
« última modificación: Enero 14, 2016, 06:22:57 pm por PiXeL »

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Re: Problemas de rendimiento PixTudio
« Respuesta #11 en: Enero 14, 2016, 06:22:57 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 :)




¿Y que fps tendrías en Bennu con ese equipo?

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Re: Problemas de rendimiento PixTudio
« Respuesta #12 en: Enero 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...

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 250
  • Karma: 11
Re: Problemas de rendimiento PixTudio
« Respuesta #13 en: Enero 14, 2016, 06:26:31 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] [/color]

panreyes

  • Administrator
  • *****
  • Mensajes: 2233
  • Karma: 81
    • panreyes.com
Re: Problemas de rendimiento PixTudio
« Respuesta #14 en: Enero 14, 2016, 06:28:38 pm »
Esto es el resultado con Bennugd (ignora que ponga pixtudio)