Otra duda más ;D. Ahora tengo un problema con los FPS y es que al llegar al número 3500 (contador +1 en speed = 60) el juego comienza a bajar súbitamente los FPS.
En código no tengo nada fuera de lo común, en un step de un objeto puse time+=1 para llevar un tiempo constante, se reproduce un tema simultáneamente, pero le desactivé esa opción y sigue bajando, ¿Puede que el programa no soporte un contador tan alto?
¿Quieres decir que vas subiendo la velocidad del room en cada paso?
No estoy seguro, pero creo que ese es el límite de tu PC, más allá de eso, ya no puede procesar todo en tiempo. No es que el contador sea elevado (GM puede manejar cifras bastante altas), sino que lo que controlas con el contador no es un número cualquiera. ¿Por qué quieres elevar tanto los fps?
No es que elevo los FPS, siempre se mantienen en 60 hasta que llega el contador a 3500, ahí comienza a bajar de repente sin que haga nada :S. Tengo una i3 de segunda generación con placa gráfica y 4gb de ram, lo dudo que sea mi PC.
Ah ya, había entendido mal. Pero 3500 es un número muy bajo, el límite de GM en enteros anda por ahí de los miles de millones (no recuerdo bien). Aquí hay una DLL que según permite manejar números enormes, sólo limitados por la capacidad de tu PC (yo no la he usado)
http://gmc.yoyogames.com/index.php?showtopic=454894 (http://gmc.yoyogames.com/index.php?showtopic=454894)
¿El contador sólamente cuenta? ¿No hay nada más donde tenga efecto? También pudieras subir el proyecto para probarlo
Acá dejo el adjunto de lo que llevo. Sean buenos con ustedes y no roben el código que está tan enredado que les va a quemar la cabeza xD
No, no es la variable timer. Al llegar a 4000, los fps marcaban 35.
Hice que se reiniciara timer al llegar a 4000, pero los frames seguían bajando. Luego revisé la memoria: Al empezar el juego, ocupaba alrededor de 39 MB de memoria RAM, para cuando el timer llegaba a 4000, la memoria ocupada era de como 80 MB
El problema es cómo estás usando la dll para manejar INIs. Esa dll es más rapida que GM porque las operaciones las hace en memoria, pero tú estás creando el ini una y otra vez y asignándolo su ID a la variable "path"en step. Eso debes moverlo a create, para que se ejecute nada más una vez. El código que maneja el INI lo puse en comentarios, y los fps ya no bajan, ni el espacio ocupado en RAM aumenta
No tengo idea por qué funciona así, pero parece que en memoria se crean muchas copias del mismo INI una y otra vez. Al menos haz descubierto una manera "divertida" de consumir los recursos de los usuarios XD
Ahora si funciona, pero al llegar a 200 el contador deja de leer el *.ini :S