Page 3 of 33

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 12:50 pm
by erkosone
Gracias por la ayuda Vortigiano, estoy metido en la comunidad de raylib y hay un monton de gente ahi, un@ tal Anata me ha ayudado a resolver el problema, mi error era no tener en cuenta el centro desplazado "durante" las rotaciones..

Lo tenia casi, pero la verdad es que este tipo lo tiene mucho mas claro que yo..

Source Code (C) [ Download ] [ Hide ]
  • float scale = 2.0f;
  • angle += 0.8f;
  •  
  • Vector2 newPosition = rotate(
  •     (Vector2) { GetScreenWidth()/2 , GetScreenHeight()/2 },
  •     (Vector2) { GetScreenWidth()/2 + ((graph.width*scale)/2), GetScreenHeight()/2 + ((graph.height*scale)/2) },
  •     angle
  • );
  •  
  • DrawTextureEx(graph, newPosition, angle, scale, WHITE);



Solucionado, ahora solo corrigo el centro dinamico y ya tengo el test listo para probarlo con el sistema a pelo de sprites.

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 1:10 pm
by erkosone
Recuelgo el test, esta vez con una función que "se supone" que consume menos recursos ya que hay que hacer los calculos de rotación de matrices a mano.. y me ahorro un monton de carga.. "supuestamente".
Hokuto sobre todo me interesa ver que rendimiento te da a ti tio, haber cuantos procesos es capaz de lanzarte a 60 FPS.

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 1:15 pm
by Vortigano
erkosone wrote:Gracias por la ayuda Vortigiano, estoy metido en la comunidad de raylib y hay un monton de gente ahi, un@ tal Anata me ha ayudado a resolver el problema, mi error era no tener en cuenta el centro desplazado "durante" las rotaciones..


Exactamente, el centro desplazado del origen es como tener corrida de lugar la "cámara de espectador", a mí lo que me ha pasado muchas veces cuando empecé a programar con matrices de transformación es no guardar coordenadas intermedias entre rotación y desplazamientos.... y me sucedían errores de los mal extraños XD La más común era la de los plegados.

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 1:17 pm
by erkosone
Si tio, y cuando calculas la rotación del vector luego tienes que restarle el centro del sprite.. joer es que estas cosas al final te las automatizas en una función y solo las tocas de año en año pero cuando toca como jode jajajajja

Has podido probar el test Vortigiano? en comparación con el otro notas diferencia?

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 1:18 pm
by Vortigano
test02_glz.zip @ 54 FPS 407

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 1:20 pm
by erkosone
Gracias tio, haber que tal le funciona a hokuto :)

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 1:24 pm
by Vortigano
erkosone wrote:Si tio, y cuando calculas la rotación del vector luego tienes que restarle el centro del sprite.. joer es que estas cosas al final te las automatizas en una función y solo las tocas de año en año pero cuando toca como jode jajajajja

Has podido probar el test Vortigiano? en comparación con el otro notas diferencia?


Yo empecé a programar en "alto nivel" si se quiere hace muy poco, soy del ensamblador de microchip, pero para graficar siempre he usado mi mano derecha una casio cfx-9850gc plus, que tiene un lenguaje muy simple y ya en esa época tenía esos problemas como el tuyo... en esa época no tenía acceso a internet, mi única salvación era mi profesora de matemática del secundario y la biblioteca de la escuela. :( Pero para eso están los foros hoy en día, qué bueno que lo hayas solucionado y rápido, a mí me ha tocado algunas veces pasar días sin resolverlo. :lol:

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 8:56 pm
by Hokuto7
El test gamelibzero c++ me da 84 objetos en pantalla("EL PROXIMO TEST RESOLUCION 640X480 A 30FPS")

Como estaba aburrido he realizado mas pruebas de rendimiento en otros engine.

Gamemaker:
.60 fps 100 objetos ,30 fps 150 objetos

Cdiv:
-60,0 fps 300 objetos,30,0 fps 900 objetos

Didx:
aqui tuve que crear un sprite simple en el programa, porque no se como meter el sprite en el fpg y puede que el test no sea fiable
-60,0 fps 880 objetos,30,0 fps 1400 objetos

Bennugd:
-60,0 fps 2700 objetos,30,0 fps 6000 objetos
-60,1 fps 3200 objetos,30,1 fps 6800 objetos
-60,2 fps 3600 objetos,30,2 fps 7400 objetos

En bennugd me ocurrio una cosa curiosa,cuantos mas frames le restaba menos aumentaba el rendimento.Pero esta claro que el engine mas rapido en mi ordenar y con diferencia es bennugd.

Resumiendo:
Gemix:
set_fps(60,0) 1000 procesos,set_fps(30,0) 2000 procesos
Bennugd:
set_fps(60,0) 2700 procesos,set_fps(30,0) 6000 procesos

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 9:31 pm
by erkosone
Gracias por la info hokuto, aunque estos test no sirven de mucho por que todo depende del grafico que estes pintando y de las transformaciones graficas que apliques a este, como ejemplo para el benkmarck que estoy haciendo a size = 10 me crea 8 mil procesos rotando, a size = 50 me crea 3500, esto en 4k.. por que sino me llega al limite de la lib y no puedo obtener valores.. todavia tengo que ver como desactivar la aceleracion grafica haber que pasa..

Gracias por el test tio. preparare uno mas exaustivo en breve ;)

Re: Test de mi gameEngine en C++

PostPosted: Fri Dec 07, 2018 10:33 pm
by Hokuto7
El test que estoy realizando es con el mismo grafico y con el mismo codigo en todos los engines para ver la diferencia,por eso seria adecuado hacer el mismo test en la libreria que estas creando para ver si rinde bien comparado con los demas. :)