En mis test gemix apenas lanza 150 procesos en compraración con los miles que consigo en C++ no se como a ti te lanza 1000 procesos gemix, es imposible hokuto, haber que no te estoy llamando mentiroso pero vaya.. que resulta muy raro que haya tantisima diferencia entre tus test y los mios.
Te paso un test en gemix y uno en C++ para comparar, son exactamente lo mismo, cuelgo el source tmb.
Porfa hazme una captura tio de el numero de procesos que te captura cada cual.
Mis resultados con gemix: 298 procesos.
Mis resultados con C++ gameLibZero: 8192 procesos, y no hago screen de cuando paso de este valor por que se renderizan en una segunda surface y queda feo.. pero realmente alcanzo mas de 20.000.
- program test_01;
- Global
- int img;
- int i = 0;
- begin
- mode_set(640, 400, 32);
- set_fps(60, 0);
- img = image_load("data/images/00.png");
- write(0, 10, 10, 3, &fps);
- write(0, 200, 10, 3, &i);
- loop
- if(fps > 58)
- proc();
- i++;
- end
- frame;
- end
- end
- process proc()
- begin
- graph = img;
- x = rand(0, 640);
- y = rand(100, 400);
- size = 50;
- loop
- angle += 1000;
- frame;
- end
- end
- /* gameLibZero game.cpp template */
- #include "gameLibZero.cpp"
- // Global var block..
- Texture2D img;
- int st = 0;
- //--------------------------------------------------------------------------------------
- void setup(){
- setMode(640, 400);
- //ToggleFullscreen();
- setTitle("gameLibZero C++ port render test with openGL 3.x");
- setFps(60);
- img = loadImage("data/images/00.png");
- }
- //--------------------------------------------------------------------------------------
- class cosa : public sprite{
- public:
- void frame(){
- angle ++;
- }
- };
- //--------------------------------------------------------------------------------------
- class textosArriba : public sprite{
- public:
- int i = 0;
- void frame(){
- DrawFPS(10, 10);
- i = sprites.size();
- screenDrawText(GetFontDefault(), 22, i, RIGHT, 120, 10, BLACK, 255);
- }
- };
- //--------------------------------------------------------------------------------------
- void draw(){
- switch(st){
- case 0:
- new textosArriba();
- st = 10;
- break;
- case 10:
- if(GetFPS() > 58){
- for(int i=0; i<10; i++){
- cosa* a = new cosa();
- a->x = GetRandomValue(0,640);
- a->y = GetRandomValue(100, 400);
- a->size = 50;
- a->graph = img;
- a->visible = true;
- }
- //st = 20;
- }
- break;
- }
- }
Te cuelgo el mismo test exacto en ambos lenguajes para poder comprar, por que me has dejado flipando con tus resultados, haber si alguien mas puede hacer la prueba for favor y así compraro entre diferentes equipos, me gustaría saber sobre todo que CPU y GPU tiene el equipo con el que haceis las pruebas.
Gracias de antemano.

EDIT: Tras los resultados obtenidos en estos test ya me dedicaré a integrar la conocida Chipmunk2D con la gameLibZero en C++ si los resultados son buenos, con esto ya tendré el render, el gameLoop y la fisica todo en uno, haber que tal, supongo que con la experiencia que tengo ya con esta libreria de fisica no deberia ser un problema ponerla en marcha en poco tiempo integrada con los procesos.
- Aunque no este el test disponible.. cuelgo la imagen también, de la actual gameLibZero en su versión processing/java por hardware..
EDIT: Ya he arreglado el problema de la ordenación de los procesos por su Z de forma "ESTABLE", joer no conocia el motodo stable_sort() de c++ que funciona genial por cierto con vectores de objetos.. pues eso, que ya tengo los procesos, con sus variables locales predefinidas y el sistema de ordenación Z para pintar, si todo va bien comienzo con la física y las colisiones en breve.