De nada erkozone,pero mejor en español que he tenido que buscar esa palabrita y no sabia lo que me estabas diciendo
Cictec ya tengo la prueba de rendimiento de gemix y me ha decepcionado un poco,pongo el codigo que he usado y explico todo.
- Code: Select all
program prueba_velocidad;
global
int fuente,graficos,mi_jugador,mi_enemigo;
end
//proceso principal--------------------------------------
begin
mode_set(640,480,32);
set_fps(60,0);
fuente = load_fnt("fuente.fnt");
graficos = load_fpg("graficos.fpg");
file = graficos;
graph = 4;
tiled = 1;
mi_jugador = jugador();
write(fuente,38,16,4,"fps:");
write(fuente,84,16,4,&fps);
loop
//salir
if(key(_esc))
exit("salir",0);
end
enemigo();
frame;
end
end
//jugador------------------------------------------------
process jugador()
private
int velocidad = 5;
end
begin
file = graficos;
graph = 1;
x = 320; y = 420;
loop
graph = 1;
//movimiento
if(key(_left) and x > 32)
x -= velocidad;
graph = 2;
end
if(key(_right) and x < 608)
x += velocidad;
graph = 3;
end
if(key(_up) and y > 32)
y -= velocidad;
end
if(key(_down) and y < 448)
y += velocidad;
end
frame;
end
end
//enemigo------------------------------------------------
process enemigo()
private
int velocidad = 2;
end
begin
file = graficos;
graph = 5;
x = rand(32,608); y = 96;
loop
angle = fget_angle(x,y,mi_jugador.x,mi_jugador.y);
//mover
if(y < 340)
//y++;
advance(velocidad);
end
frame;
end
end
El codigo lo que tiene es una nave jugador que se puede mover,un fondo y una nave enemiga que se desplaza hacia la nave del jugador hasta un limite y hay se para.
He hecho muchas pruebas,eliminando los enemigos,sin eliminar los enemigos,a 60 fps,a 30fps,con la funcion advance y fget_angle,sin la funcion fget_angle.Te pongo los resultados:
------------------------------------------------------------------------------------------------------------
-sin eliminar de enemigos y con fget_angle,advance
30 fps = 16 segundos y despues caen los fps y 520 enemigos aproximadamente
60 fps = 5 segundos y despues caen los fps y 270 enemigos aproximadamente
-con eliminacion de enemigos y con fget_angle,advance
30 fps = estable siempre
60 fps = baja a 50 y se queda siempre en 50 y 270 enemigos aproximadamente
-sin eliminar enemigos y sin fget_angle,advance
30 fps = 55 segundos y despues caen los fps y 1700 enemigos aproximadamente
60 fps = 13 segundos y despues caen los fps y 850 enemigos aproximadamente
-con eliminacion enemigos y sin fget_angle,advance
30 fps = estable siempre
60 fps = estable siempre
----------------------------------------------------------------------------------------
Me parece curioso que placas recreativas de los 90 como la cps 2,neo geo,cave etc..
Estas placas tienen procesadores que van a 12 mhz,y pueden poner graficos enormes y poner un moton de objetos en pantalla y todo se mueve muy fluido.
Sin embargo los super pc de hoy en dia,cuando intentas hacer algo similar a los juegos de esas placas ,se van arrastrando por el suelo porque no pueden mover tanto objeto,no entender