| Jeu qui rame ! | |
|
|
Auteur | Message |
---|
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Jeu qui rame ! Mar 10 Aoû 2010 - 3:45 | |
| Bonsoir ! Voilà, j'ai un gros problème, à certains moment, mon jeu se met à rammer (ça passe de 60fps à 25 !), pourtant chaque sprites, tile, background et sons sont chargé extérieurement (sprite_add, sound_add, etc), le jeu prend 17 916 ko dans la mémoire, je pense que ça vient du code, ce bug apparaît lorsque je monte/descend des pentes, ou que je suis à terre Voilà le code que j'utilise pour les pentes : - Code:
-
if isonground=1 { for (i=0;i<16;i+=1) { if place_meeting(x+movespeed,y+i,obj_jt_block) && !place_meeting(x+movespeed,y+1,obj_jt_block) {y+=i;break} }
for (i=0;i<16;i+=1) { if !place_meeting(x+movespeed,y-i,obj_jt_block) && place_meeting(x+movespeed,y,obj_jt_block) {y-=i;sisonground=1;break} if place_meeting(x+movespeed,y-1,obj_jt_block) or !place_meeting(x+movespeed,y,obj_jt_block) {sisonground=0} } }
l'executable compilé pèse 2,26 Mo, sinon ça peut venir du nombre de ligne de code dans l'objet ? parce que j'ai 1021 lignes.. Merci de votre aide et bonne soirée ! edit : Bon, en enlevant Use Synchronization to avoid Tearing, les fps ne chutent plus, seulement.. bah j'ai des grosses lignes de balayage à certain moment :/ Quelque chose pour pallier ce problème ? _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 8:12 | |
| le code peux à la limite charger le cpu, mais pas remplir la mémoire (en tout cas le code que tu montre) Vérifie que t'as pas un surface_create, sprite_add, ou autre création de ressource qui est executée en continue, sans avoir précément virer les anciennes avec un surface_free, sprite_delete, etc... Tu peux aussi vérifier le nombre d'instances en jeu, en l'affichant à l'écran : draw_text(0,0,"instances : "+string(instance_count)) _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
zerfes Utilisateur confirmé: Rang *
Messages : 287 Localisation : Ben ici Projet Actuel : - Savoir dessiner.
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 8:30 | |
| http://gamemaker.fr/pages/download/DLL/freememory.zip - Citation :
- La meilleur DLL jamais publiée!
En effet elle permet de vider la mémoire RAM qui n'est plus utilisée par le jeu pour gagner de la rapidité et ainsi optimiser aisément son jeu, en général c'est une solution très puissante pour optimiser son jeu. Le mieux à faire est d'utiliser la DLL entre chaque room. Auteur: Bibi26 Ca peut surement aider |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 8:40 | |
| oui ça peux aider, mais c'est comme traiter les variables non initialisées, ça corrige pas le problème, ça ne fait que le masquer. _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 9:00 | |
| - M@d_Doc a écrit:
- le code peux à la limite charger le cpu, mais pas remplir la mémoire (en tout cas le code que tu montre)
Vérifie que t'as pas un surface_create, sprite_add, ou autre création de ressource qui est executée en continue, sans avoir précément virer les anciennes avec un surface_free, sprite_delete, etc... Tu peux aussi vérifier le nombre d'instances en jeu, en l'affichant à l'écran : draw_text(0,0,"instances : "+string(instance_count)) Aucun sprite_add en continue, aucun surface_create, pour le nombre d'instances : 2383 Le problème vient pas de la mémoire, mais bien du code.. :/ je précise que le jeu ne rame pas constamment, et ma config (pour le proco) : AMD Athlon X4 620 @2.6GHz _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 10:31 | |
| tu as des grosses boucles ailleurs que dans tes déplacements? Et au cas où, 2383 instances, c'est déjà pas mal... d'où ça vient toutes ces instances? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 10:33 | |
| - M@d_Doc a écrit:
- tu as des grosses boucles ailleurs que dans tes déplacements?
Et au cas où, 2383 instances, c'est déjà pas mal... d'où ça vient toutes ces instances? Les blocs, pour les sols et les murs, ainsi que un debugger (qui n'a que des fonctions draw), le joueur et le contrôleur du joueur mais c'est une grosse carte (3186*688 je crois) tu parles des loops for ? 16 maximum.. edit : et aucune loop while, j'ai essayé en virant les tiles (graphic) : pareil.. j'sais pas quoi faire.. c'est quoi la fonction la plus gourmande dans Game maker ? _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:04 | |
| 2383 murs c'est franchement beaucoup je trouve, faudrait essayer de desactiver les instances hors du champ de vision (regarde le manuel, instance_deactivate_region) Quant aux loops, c'est pas tant leur nombre que leur contenu qui est important. Est ce que par hasard tu utilises draw_getpixel? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:05 | |
| - M@d_Doc a écrit:
- 2383 murs c'est franchement beaucoup je trouve, faudrait essayer de desactiver les instances hors du champ de vision (regarde le manuel, instance_deactivate_region)
Quant aux loops, c'est pas tant leur nombre que leur contenu qui est important. Est ce que par hasard tu utilises draw_getpixel? Mais ces instances ont pas de code, ça compte quand même ? Nope Vi, ça a l'air de marcher, j'vais tester tout ça ! Une question, comment je peut empêcher de désactiver les AI qui sont en dehors de la view ? _________________ Because these are not the words of God, the same God that burnt the knowing.
Dernière édition par Termite le Mar 10 Aoû 2010 - 11:08, édité 1 fois |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:08 | |
| une instance, même sans code, calcul sa position, si il y a des collisions, plus un paquet de variables à chaque step (x,y,hspeed,vspeed,speed,direction,image_angle,image_blend,image_alpha,sprite_index,image_number,et j'en passe! ) Bref, tout ça pour chaque instance... multiplié par le nombre d'instances :$ Tu peux essayer de faire des murs de plusieurs tailles, mettre les gros quand c'est possible, combler avec des petits blocs, et si t'as une zone entièrement pleine, ne met des murs qu'au bord, pas la peine de combler l'intérieur, si rien ne peux y aller. Bon, tout ça, ça marche si tes murs sont invisbles dans le jeu, qu'ils ne servent qu' aux collisions, l'image visible étant un tile... _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:09 | |
| Vi, je vois.
ça a l'air de marcher le deactive, mais comment j'peux empêcher le désactivement de certain object ? _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:12 | |
| - Code:
-
instance_activate_all()
instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); instance_activate_object(objet_a_reactiver) _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:13 | |
| - M@d_Doc a écrit:
-
- Code:
-
instance_activate_all()
instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); instance_activate_object(objet_a_reactiver) Oky, merci beaucoup c'est niquel ! _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
zerfes Utilisateur confirmé: Rang *
Messages : 287 Localisation : Ben ici Projet Actuel : - Savoir dessiner.
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 11:36 | |
| geygey M@d_Doc |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 15:01 | |
| - aide GM a écrit:
- {
instance_activate_all(); instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); }
Vous feriez mieux de bien regarder votre doc (pas M@d :p) quand même, vous y apprendrez des trucs très intéressants. |
|
| |
zerfes Utilisateur confirmé: Rang *
Messages : 287 Localisation : Ben ici Projet Actuel : - Savoir dessiner.
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 15:06 | |
| - onilink_ a écrit:
- aide GM a écrit:
{ instance_activate_all(); instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); }
aide GM |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 15:15 | |
| |
|
| |
zerfes Utilisateur confirmé: Rang *
Messages : 287 Localisation : Ben ici Projet Actuel : - Savoir dessiner.
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 15:52 | |
| aide GM a écrit , un ptit trip x) |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 15:54 | |
| et c'est de là que ça vient. Après tout, pourquoi inventer du code quand le GM manual donne tout ce qui est nécessaire? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 16:10 | |
| +1
Pourtant j'ai l'impression que l'aide de GM n'est pas utilisée par beaucoup... |
|
| |
zerfes Utilisateur confirmé: Rang *
Messages : 287 Localisation : Ben ici Projet Actuel : - Savoir dessiner.
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 16:16 | |
| - onilink_ a écrit:
- +1
Pourtant j'ai l'impression que l'aide de GM n'est pas utilisée par beaucoup... +2 |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 17:06 | |
| C'est déjà qu'il faut l'avoir lu en entier une fois pour en connaître son contenu, et savoir ce qu'on peut y trouver dedans (tout). - Spoiler:
Sauf min3() et image_single
Bref pour ceux qui aiment l'action, la prog sur le tas, l'apprentissage par la pratique, ils préfèrent chercher des exemple sur le net plutôt que d'ouvrir le manuel sous leur nez et c'est bien dommage je trouve. Personnellement c'est la première chose que j'ai lu, le manuel, tous les jours. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Jeu qui rame ! Mar 10 Aoû 2010 - 17:17 | |
| Je ne l'ai moi même pas lu en entier mais avec le système de recherche on peut tout trouver. |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Jeu qui rame ! Jeu 12 Aoû 2010 - 3:22 | |
| Ben, j'ai commencé mon moteur RayEngine en même temps que j'apprennais Game Maker, généralement j'essaie de trouver sur internet/manuelle (les commandes), mais des fois je patauge vraiment et j'viens ici Mais lire tout le manuel... pas tellement la foi (oué j'ai honte :p) _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
Contenu sponsorisé
| Sujet: Re: Jeu qui rame ! | |
| |
|
| |
| Jeu qui rame ! | |
|