AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -25%
PC Portable Gamer 16,1” HP Victus 16 – 16 ...
Voir le deal
749.99 €

 

 Utilisation de l'UC

Aller en bas 
+8
PHENIXprod
master47
M@d_Doc
Wargamer
glcraft
Randal
onilink_
linkdu83
12 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
linkdu83
Petit bavard
linkdu83


Messages : 56
Localisation : Var
Projet Actuel : Metroid Prime 2D

Utilisation de l'UC Empty
MessageSujet: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 17:27

Bonjour !

Voilà : comment optimiser l'utilisation de l'UC (et de la mémoire) par un jeu GM ?

En effet, je me suis rendu compte que mon jeu consomme énormement : 50 Mo pour la mémoire, et par rapport à mon Core2Duo, utilisation à 40% de l'UC.

Le jeu est en 60 fps.
Dans mes objets, j'ai beaucoup de lignes de codes, mais la plupart du temps, seulement une partie est exécutée avec un switch.
De plus, je n'ai pas encore de musiques, pas beaucoup de ressources (320 ko le .gmk).
Pour un ordinateur récent ce n'est pas trop un problème, mais pour une "vielle" machine, ça rame ...
Donc que faire ?!

Et par la même occasion : j'ai un moteur de texte qui utilise une surface, ça fonctionne très bien. Cependant sur W7 x64 le texte est coupé, quel est le problème ?!
De plus, est-ce que les surfaces consomment beaucoup de mémoire vidéo ?

Merci !
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 17:29

une surface consomme largeur*hauter*32 octets de mémoire

je sais que les rooms consomment pas mal de mémoire, après je sais pas, tu charge des ressources externes ?
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


Messages : 56
Localisation : Var
Projet Actuel : Metroid Prime 2D

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 17:31

Non aucunes ressources externes ...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 17:32

y a ça dans la doc
Citation :

Si vous projetez de réaliser des jeux complexes, vous voudrez probablement les rendre aussi rapides que possible. Bien que Game Maker fera le maximum pour que les jeux soient rapides, cela dépendra beaucoup de la manière à laquelle vous avez conçu votre jeu. Bien entendu, il est vrai qu'il est plus facile de créer un jeu qui consomme trop de mémoire que l'inverse. Dans ce chapître, je vous indiquerai certaines astuces qui pourront contribuer à rendre vos jeux plus rapides et plus petits en taille.
Premièrement, soyez attentif en ce qui concerne les sprites et les arrière-plans (backgrounds) utilisés. Les sprites animés prennent beaucoup de mémoire et dessiner de nombreux sprites prend beaucoup de temps. Aussi, créez vos sprites aussi petits que possible. Supprimez toutes les zones invisibles autour de ces derniers (la commande crop de l'éditeur de sprites le fait automatiquement). C'est la même chose en ce qui concerne les images d'arrière-plan. Si vous avez un arrière-plan plein, vérifiez que vous avez désactivé l'utilisation de la couleur d'arrière-plan.

Si vous êtes en mode plein écran, soyez sûr que la taille de la room (ou la fenêtre) ne soit jamais plus large que la taille de l'écran. La plupart des cartes graphiques savent efficacement mettre à l'échelle les images mais la mise à l'échelle de ces images ralentira cependant l'affichage ! Autant que possible, désactivez l'affichage du curseur. Lui aussi ralentit l'affichage des graphiques.

Soyez également prudent lors de l'utilisation des vues (views). Pour chaque vue, la room sera redessinée.

En plus des graphiques, il y a aussi d'autres aspects qui peuvent influencer la vitesse du jeu. Veillez pour qu'il y ait le moins possible d'instances. En particulier, détruisez les instances qui ne sont plus nécessaires (ex: lorsque vous quittez la room). Evitez de placer beaucoup d'actions dans l'événement step ou dans l'événement d'affichage (drawing event) des instances. Souvent, il n'est pas indispensable de les placer à chaque step. L'interprétation du code est assez rapide mais c'est tout de même du code interprété. De plus, certaines fonctions et actions prennent beaucoup de temps; en particulier celles qui doivent vérifier toutes les instances (comme par exemple l'action de rebondissement (bounce action)).

Réfléchissez sur la façon de gérer les événements de collision. Vous devriez avoir normalement deux options. Les objets qui n'ont pas d'événement de collision seront exécutés plus rapidement, aussi il est préférable de traiter les collisions avec les objets qui possédent peu d'instances.

Soyez également attentif lors de l'utilisation de gros fichiers sons. Ils consomment beaucoup de mémoire et se compressent assez mal. Vous devriez analyser davantage vos sons afin de voir s'ils ne peuvent pas être mieux échantillonnés.

Enfin, si vous voulez réaliser un jeu avec lequel la plupart des gens puissent jouer, testez-le sur les plus vieilles machines.
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


Messages : 56
Localisation : Var
Projet Actuel : Metroid Prime 2D

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 18:04

Oui, j'avais déjà lu ça mais bon ...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 18:21

mais bon que veux tu qu'on te dise de plus :p

Enfin peut etre que tu utilise trop de gros tableaux.
Il faut savoir que chaque variable de GM tient sur 8 octets, donc selon la taille de certains tableaux ça peut faire lourd.

Ensuite les chaines de caracteres prennent un octet par caractere.


Dernière édition par onilink_ le Mar 20 Juil 2010 - 19:14, édité 1 fois
Revenir en haut Aller en bas
Randal
Utilisateur confirmé: Rang **



Messages : 446

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 18:30

Perso, en créant un personnage qui tirait des balles avec une arme, chaque tir occasionnait une augmentation de ~2Mo de RAM.
Alors je vous dis pas qu'on se retrouve en 30 secondes avec 200Mo de RAM...

Surtout que le son de cette dernière était de 20 octets. >.<"

GM = mal optimisé ?
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 18:37

si tu prog bien ton jeu normalement y a pas de soucis quand meme.
Et puis pour les sons vaux mieux utiliser une dll parce que Gm ....
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 19:01

Randal a écrit:
Perso, en créant un personnage qui tirait des balles avec une arme, chaque tir occasionnait une augmentation de ~2Mo de RAM.
Alors je vous dis pas qu'on se retrouve en 30 secondes avec 200Mo de RAM...

Surtout que le son de cette dernière était de 20 octets. >.<"

GM = mal optimisé ?
mais ton systeme est inferieur a XP, c'est un peut normal, c'est mal optimisé (a mon avis)
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
linkdu83
Petit bavard
linkdu83


Messages : 56
Localisation : Var
Projet Actuel : Metroid Prime 2D

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 19:17

Merci.

Bon, j'ai réussi à faire (un peu) baisser l'utilisation de l'UC en utilisant des surfaces, plutôt que de tout redessiner à chaque step ... maintenant, ça monte à 30% max.
J'espère que ça ne consomme pas trop de mémoire vidéo maintenant ...

Je vais donc essayer d'utiliser le moins de code (et calculs) possible, je pense que c'est la seule solution. Et puis pour les systèmes trop vieux, bah tant pis ...
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 20:56

c'est pas le code qui fait ramer l'ordi, qu'il soit gros ou pas, c'est son optimisation, de faire des bonnes methodes plutot que celle qui font ramer l'ordi (comme les boucle qui n'ont pas d'utilité)
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
linkdu83
Petit bavard
linkdu83


Messages : 56
Localisation : Var
Projet Actuel : Metroid Prime 2D

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 21:07

Non mais quand je dis "le moins de code", ce n'est pas en écrire moins, mais de l'utiliser que quand c'est utile.
Ce qui me fait beaucoup de calcul, ce sont les for, j'en utilise souvent ...
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMar 20 Juil 2010 - 21:19

une boucle vide ca prend presque 0 sec pour faire de 0 à 1milion
après ca dépend de ce que tu met dedans
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyMer 21 Juil 2010 - 7:47

+1 pour wargamer.
Et après, il faut voir les opérations dedans, il y a des trucs qui prennent beaucoup plus de temps que d'autres (ne serait-ce que les accès fichiers et les draw_getpixel() ...)
Revenir en haut Aller en bas
http://www.lecbna.org
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptySam 31 Juil 2010 - 16:40

Je sais que ce post commence a dater, mais au cas ou :
niveau optimisation dans gm, évite le switch. Ensuite si tu utilise pas mal d'objets, faut éviter aussi .

Ça serait tlmt bien si gm supportait les types de variables; histoire d'éviter d'utiliser 8 octets pour un boolean..

Gm est en effet extrement mal optimise.
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
linkdu83
Petit bavard
linkdu83


Messages : 56
Localisation : Var
Projet Actuel : Metroid Prime 2D

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptySam 31 Juil 2010 - 18:28

Ah oui, les switch c'est mauvais ?!
Je n'utilise que ça ... en effet, ça évite de lancer des lignes de code inutiles, non ?
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptySam 31 Juil 2010 - 20:28

idem, ou alors un else if mais quand t'a plusieur truc ca vient vite le bordel
Revenir en haut Aller en bas
PHENIXprod
Utilisateur confirmé: Rang ****
PHENIXprod


Messages : 835

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 11:46

lol mon projet actuel consommait 100 Mo de RAM =)
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 12:42

lol mon projet actuel consomme 9 Mo de RAM =)
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 12:49

Le truc que tu m'as montré lol ? x)
Revenir en haut Aller en bas
Randal
Utilisateur confirmé: Rang **



Messages : 446

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 12:52

onilink_ a écrit:
lol mon projet actuel consomme 9 Mo de RAM =)

Un pong en noir et blanc ? >:P
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 12:59

Un zelda style oracles of seasons >:p
Revenir en haut Aller en bas
Bloue
Utilisateur confirmé: Rang **
Bloue


Messages : 443

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 13:25

De toutes façon il peut consommer 9 ou 100Mo de RAM ça change rien puisque quand on joue, on lance qu'un jeu.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 13:31

Pas forcément tu peut mettre un lecteur multimédia a coté.
De plus certains ordi n'ont pas plus de 250Mo de ram, donc si ton jeu en prend 100 , il tourneras pas.
Enfin.... performances + GM = Fail
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****
bibi675


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 13:57

En même temps, ceux qui n'ont que 256 Mo de RAM ne jouent pas ensuite le jeu tournera quand même, Windows switchera automatiquement sur le fichier d'échange. clinoeuil
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 14:01

Enfin je disais ça parce que le probleme avec GM, c'est que ok, le jeux tourneras, mais toutes les images ne seront pas chargés.
C'est ce qui ce passe avec mon entrainement Kanji, qui ne prend pourtant que 15Mo de ram quand je le fait passer sur l'ordi de ma soeur (qui n'est pas une bete de performance mais qui n'est tout de même pas pourris)
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****
bibi675


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 14:52

onilink_ a écrit:
Enfin je disais ça parce que le probleme avec GM, c'est que ok, le jeux tourneras, mais toutes les images ne seront pas chargés.
C'est pas le manque de mémoire vidéo qui cause ça ? Question
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 15:41

Aucune iddée en fait. Vu que les images sont chargés dans la ram.
Ma soeur a 512Mo de ram pour info. Pour la carte graphique je sais pas.
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense Utilisation de l'UC Panicpr9

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 16:05

Si c'est à cause du manque de VRAM, baisse le nombre de couleurs de l'écran (met le en 16 bpp)
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC EmptyDim 1 Aoû 2010 - 16:19

jamais compris comment un jeu qui fait moins de 30 mo peut utilisé 100mo de ram ❓
Revenir en haut Aller en bas
Contenu sponsorisé





Utilisation de l'UC Empty
MessageSujet: Re: Utilisation de l'UC   Utilisation de l'UC Empty

Revenir en haut Aller en bas
 
Utilisation de l'UC
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Utilisation du DLL gmzip
» Utilisation de 39dll
» Atelier GML 3 - Trigonométrie, utilisation des lengthdir
» Apprendre utilisation DLL
» utilisation des séparateurs |

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