|
#1
|
||||
|
||||
|
Holas gente de EMD (me falta la igriega
bueno, como dice el titulo... ok mejor vamos al grano Bueno. Mientras programaba en game maker lalala (8) probe mi juego pero despues al probarlo denuevo se me ponia demasiado lento. i me preocupa por que es mi primer juego completo Estoi hablando de "super mario fli awai" ia tengo todos los estages listos i listo para jugar normal. si me aiudan les agradeceria mucho por que esta mui bueno (para mi i para mis amigos) i lo subiria apenas solucione esto por cierto tambn me carga ultra lento el juego!!!!!!!!1 i solucione los problema de los sleeps |
|
#2
|
||||
|
||||
|
Mmmh, tal vez esté muy pesado el juego para jugarse bien, las razones serían:
-Los niveles son muy grandes. -Usas mucho el sistema de partículas y la mem. RAM se carga mucho. Otra razón sería que "accidentalmente" cambiaste la veloc. del room (debería estar en 30 o 60 fps). Podrías tener un problema con tu PC. Y por último, tienes un virus. Chequéate, pasale el juego a otra persona para ver si el también lo juega lento, si se juega lento en otra PC tiene un problema el juego, de no ser así, es tu PC. |
|
#3
|
||||
|
||||
|
Fijate si podés subirlo para que lo prueben otras personas, si a ellos les va lento también.
Sino acá tenes unos truquitos para que ande más rapido: 1. Desactiva/Destruye las instancias que no se estén usando Las instancias hacen que tu juego vaya algo más lento. Y más, si están funcionando muchas, porque puede que no las veas, ya que están fuera de la vista (view), pero éstas instancias siguen funcionando. He oído que lo máximo que deberías tener son 50 instancias funcionando, más o menos. Para conseguir reducir el número de instancias que están funcionando, las mejores opciones son instance_destroy(); e instance_deactivate(); Puedes, por ejemplo, desactivar las instancias que están fuera de la vista del jugador, y destruir la que están fuera del room. Por ejemplo, puedes colocar éste código en el evento STEP de un objeto invisible que está situado en cada nivel: Código:
instance_deactivate_region(view_xview[0], view_wview[0], view_hview[0], false, true); instance_activate_region(view_xview[0], view_yview[0], view_wview[0], view_hview[0], true); 2. Usa tiles en vez de objetos Los tiles son mucho, muchísimo más rápido que los objetos, por lo que debes usarlos en vez de objetos siempre que puedas. Y, tranquilo, ya que los tiles no son completamente estáticos, puedes crearlos, destruirlos, colocarles su depth (Fondo), obtener su posición, etc. Hay varias funciones en GML con lo que podrás hacerlo. 3. Haz las menores colisiones que puedas Los objetos que tienen eventos de colisión son mucho más lentos que los que no tienen éste evento. Así que coloca éstos eventos en los objetos que tengan menos instancias. Por ejemplo, el jugador contra 100 balas. Obviamente, tienes que comprobar colisión entre éstos dos objetos, así que asegúrate de que la comprobación de si hay colisión está en el objeto del Jugador, ya que sólo hay 1 instancia de éste, y del objeto "Bala", hay 100 instancias. En general, las funciones que comprueban las colisiones son pesadas, por lo que es buena idea hacer cuantas menos puedas. Asegúrate de no hacer la misma comprobación en un mismo step. 4. Optimiza el uso del evento STEP Los step son llamados cada movimiento, así que cuanto más hagas en tu evento STEP, más lento irá tu juego. Así que reduce cuanto puedas las acciones en el evento STEP, y el número, si es posible. Si no lo tienes que hacer en el evento STEP, ¡No lo hagas! Una alternativa es usar alarmas. 5. Dibuja menos Cuanto menos dibujes (Evento draw), mejor. * Optimiza tus rutinas de dibujo. * Si tienes un background que ocupa toda la pantalla, recuerda quitar el uso de background_color. * También, ten cuidado con el uso de múltiples views. por cada view el room es redibujado. 6. Cuidado con los sonidos/música Los sonidos pueden ocupar mucha memoria, especialmente los wavs y mp3s. Ten en mente que Game Maker no soporta algunos tipos de música, como mods o oggs, así que considera usar alguna librería DLL como supersound.dll 7. Corta los sprites Primero, mira cuidadosamente los sprites y fondos que usas. Los sprites animados toman mucha memoria y dibujar muchos sprites toma mucho tiempo. Así que haz tus sprites lo más pequeños que puedas. Destruye cualquier área invisible que haya alrededor suya (El comando CROP en el editor de sprites ya hace ésto automáticamente). Lo mismo para los fondos. 8. Quita "synchronization". En "Global game settings > Resolution" se encuentra una opción llamada "Use synchronization to avoid tearing". Asegúrate de tenerlo desmarcado, ya que consume mucha memoria (Aumenta en un 20%, más o menos). 9. Usa resoluciones de pantalla más pequeñas 640x480 está bien para muchos juegos. Pero resoluciones de pantalla como 1024x768 se ven bien, pero hacen el juego mucho más lento. Usa resoluciones pequeñas, ya que funcionan mucho más rápido que resoluciones más altas. 10. Usa tiles más grandes, en vez de más tiles. Es cierto que los tiles son ligeros, pero el uso abusivo de éstos puede hacer que tu juego vaya más lento. Si puedes, usa tiles más grandes en vez de usar muchísimos tiles pequeños. 11. Dibuja las figuras primitivas primero en una superficie. Funciones como draw_circle, draw_rectangle, o draw_line, son mejores dibujarlas primero en una superficie (Surface) y luego dibujar ésa superficie en la pantalla. Es más rápido éste método. 12. No uses execute_string(); Es una función muy lenta, y más si usas varias veces ésta función. Hará que tu juego vaya muy lento. Intenta sustituirla siempre que puedas. Fuente |
|
#4
|
||||
|
||||
|
muchas gracias
ia que habian muchos spries repetidos i no usados, pero con eso no basto parese que mi pc se puso floja asi que la reinicie i se soluciono pero iwal muchas gracias x la info no sabia q la opcion "avoid tearing" te ponia lento el juego, io la active x curiosidad xD gracias x su atencion i ahora mismo subo el juego !!!!!!1
|
|
#5
|
|||
|
|||
|
Dulop hola buena informacion pero tengo una duda, estoy haciendo un curso de idiomas pero creoq tengo demasiados objetos(48, sin contar q cada uno tiene audio), y estoy haciendo uso de "execute a piece of code y si se alenta o no responde pero x la naturaleza del curso no puedo dejar de hacer uso de ese # de objetos como le puedo hacer para q no se alente
|
|
#6
|
||||
|
||||
|
Cita:
saludos |
|
#7
|
|||
|
|||
|
Ok no sabia pero voy a estructurar mejor la pregunta sorry
|
![]() |
|
|
Temas Similares para: Ayuda Con Extrema Lentitud en Game Maker!
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| nescecito ayuda con game maker ayuda con game maker? | F.A.B.G. | Game Maker | 13 | 09-oct-2011 01:28 |
| necesito que aliguien me enseñe a usar game maker como un experto game maker | naruto_uchiha369 | Creación de Juegos | 4 | 07-oct-2010 02:40 |
| Lentitud extrema con los juegos. | Neaya_Japan | Nintendo DS | 4 | 02-mar-2010 11:48 |
| Necesito Ayuda,para crear un game en GAME MAKER(soy principiante) | sebabrange | Creación de Juegos | 5 | 31-jul-2008 04:43 |