AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
ETB Pokémon Fable Nébuleuse : où acheter le coffret dresseur ...
Voir le deal

 

 Jeu qui rame !

Aller en bas 
5 participants
AuteurMessage
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Jeu qui rame !    Jeu qui rame !  EmptyMar 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 ! Smile

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.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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))

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
zerfes
Utilisateur confirmé: Rang *
zerfes


Messages : 287
Localisation : Ben ici
Projet Actuel : - Savoir dessiner.

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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 clinoeuil
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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.

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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?

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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?

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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...

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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)

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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 ! Smile

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
zerfes
Utilisateur confirmé: Rang *
zerfes


Messages : 287
Localisation : Ben ici
Projet Actuel : - Savoir dessiner.

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 10 Aoû 2010 - 11:36

geygey M@d_Doc happy1
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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.

_________________
Jeu qui rame !  Runningpotato1Jeu qui rame !  TvF6GED Jeu qui rame !  MdetltS
Revenir en haut Aller en bas
zerfes
Utilisateur confirmé: Rang *
zerfes


Messages : 287
Localisation : Ben ici
Projet Actuel : - Savoir dessiner.

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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 rire2
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 10 Aoû 2010 - 15:15

❓

_________________
Jeu qui rame !  Runningpotato1Jeu qui rame !  TvF6GED Jeu qui rame !  MdetltS
Revenir en haut Aller en bas
zerfes
Utilisateur confirmé: Rang *
zerfes


Messages : 287
Localisation : Ben ici
Projet Actuel : - Savoir dessiner.

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 10 Aoû 2010 - 15:52

aide GM a écrit , un ptit trip x)
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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?

_________________
Jeu qui rame !  Control-commentTous les icones de gm utilisables sur le cbna ICI  Jeu qui rame !  Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 10 Aoû 2010 - 16:10

+1

Pourtant j'ai l'impression que l'aide de GM n'est pas utilisée par beaucoup...

_________________
Jeu qui rame !  Runningpotato1Jeu qui rame !  TvF6GED Jeu qui rame !  MdetltS
Revenir en haut Aller en bas
zerfes
Utilisateur confirmé: Rang *
zerfes


Messages : 287
Localisation : Ben ici
Projet Actuel : - Savoir dessiner.

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error


Messages : 1015
Projet Actuel : Jeu qui rame !  Bas-machoire2000

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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:

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.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyMar 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.

_________________
Jeu qui rame !  Runningpotato1Jeu qui rame !  TvF6GED Jeu qui rame !  MdetltS
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  EmptyJeu 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 Very Happy

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.
Revenir en haut Aller en bas
Contenu sponsorisé





Jeu qui rame !  Empty
MessageSujet: Re: Jeu qui rame !    Jeu qui rame !  Empty

Revenir en haut Aller en bas
 
Jeu qui rame !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» rame,rame...
» dll qui rame
» [Résolu] Mon petit jeu rame à mort

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: