AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Retour en stock du coffret Pokémon Zénith Suprême – ...
Voir le deal

 

 Problème d'affichage de surfaces

Aller en bas 
+3
master47
onilink_
linkdu83
7 participants
AuteurMessage
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 19:56

Bonjour.

Comme j'ai récemment acheté un (bon) PC portable, j'ai voulu tester mon jeu dessus, seulement j'ai constaté que le jeu présentait des problèmes d'affichages de surfaces !
Voici l'étendue des dégâts :
Problème d'affichage de surfaces Screenshot100 Problème d'affichage de surfaces Img_10
(à droite l'affichage sans problèmes de surfaces)
Ce qui est embêtant, c'est que ça ne fait ça que sur mon PC portable ...
J'ai lu sur des forums (en anglais) que le problème venait des cartes graphiques Nvidia, seulement, je n'ai pas trouvé de solution !
Je sollicite donc votre aide, ce serait dommage que je ne puisse jamais finir la démo de mon jeu (un jour peut-être ...) !

Merci d'avance.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 20:17

Ça a l'air d'être un problème de blending.
Par contre sans code je saurais pas te dire d'où peut venir le problème.

Sinon t'as essayé d'utiliser des surfaces dont la taille est en puissance de 2 ?
Des fois ça viens de la ce genre de trucs, même si la rien n'est moins sur :/

_________________
Problème d'affichage de surfaces Runningpotato1Problème d'affichage de surfaces TvF6GED Problème d'affichage de surfaces MdetltS
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 21:03

Non, mais ce n'est pas un problème de code.
En effet, le code marche très bien sur mon autre PC, c'est "juste" un problème de compatibilité avec les cartes graphiques Nvidia (d'après ce que j'ai lu sur les forums), mais je n'ai pas trouvé de solution ...
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 21:56

T'es sûr de ne pas avoir zappé un petit draw_clear() par exemple ?

Edit: c'est possible aussi que ce soit vraiment un problème de blend mode, j'ai une solution, je te la passerai quand j'aurai mes codes sous la main Wink

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
onilink_
Modérateur
onilink_


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 22:01

Bah le coup des surfaces en puissances de 2 ça dépend des cartes graphiques... a mon avis ça te couteras rien d'essayer.

_________________
Problème d'affichage de surfaces Runningpotato1Problème d'affichage de surfaces TvF6GED Problème d'affichage de surfaces MdetltS
Revenir en haut Aller en bas
DarkYoshi
Utilisateur confirmé: Rang **
DarkYoshi


Messages : 348
Localisation : Dans un caniveau
Projet Actuel : pou pou pou dipou pwet <3

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 22:14

Et en faisant une maj de ton pilote ?
J'ai eu droit a des bugs mystiques qui ont disparu grace a ça
Revenir en haut Aller en bas
http://anthony-nougarede.com/
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 22:40

Merci de vos réponses.
master47:Pourquoi devrais-je faire un draw_clear ?
onilink_:J'ai essayé, mais pas de changement ...
DarkYoshi:Mes pilotes sont à jour ...
Revenir en haut Aller en bas
Oculus
Utilisateur confirmé: Rang *****



Messages : 1688

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 11 Fév 2012 - 23:43

T'as quoi comme carte ? Comme version de GM ? Quel système ?
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyDim 12 Fév 2012 - 12:51

J'ai une carte graphique Nvidia Geforce GT 555M, avec Game Maker 8.0 sous Windows 7.
Revenir en haut Aller en bas
Bast
Administrateur
Bast


Messages : 20021
Localisation : Alsace

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyDim 12 Fév 2012 - 14:50

En admettant que tes surfaces utilisent de l'alpha et que le problème n'apparaît que sur des cartes Nvidia, alors la cause en est certainement un défaut inhérent au système de surfaces de GM qui provoque des problèmes de corruption sous certains drivers Nvidia. Par exemple, afficher un sprite A transparent par dessus un sprite B dans une surface rendra le sprite B invisible, car les valeurs d'alpha du sprite A écraseront celles du sprite B au lieu de s'y combiner.

L'une des solutions à ce problème est d'exécuter ces quelques lignes juste avant le surface_reset_target, ce qui aura pour effet de maxer toutes les valeurs d'alpha et de rendre la surface totalement opaque, et donc de supprimer les artefacts de transparence. Il faudra alors user de blend modes pour séparer les différentes couleurs et reproduire un effet de transparence lors de l'affichage.

Code:
draw_set_blend_mode_ext(bm_src_color,bm_one);
draw_set_color(c_black);
draw_set_alpha(1);
draw_rectangle(0,0,WIDTH,HEIGHT,0);
draw_set_color(c_white);
draw_set_blend_mode(bm_normal);

_________________
Problème d'affichage de surfaces Sigico10
Revenir en haut Aller en bas
http://www.lecbna.org/
master47
Utilisateur confirmé: Rang *****
master47


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyLun 13 Fév 2012 - 11:43

ahah Bast gnii c'est le bout de code que j'allais lui donner awesome

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Bast
Administrateur
Bast


Messages : 20021
Localisation : Alsace

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMer 15 Fév 2012 - 1:12

Il m'a sauvé plus d'une fois. :)

_________________
Problème d'affichage de surfaces Sigico10
Revenir en haut Aller en bas
http://www.lecbna.org/
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptySam 18 Fév 2012 - 15:15

Merci pour le code, mais ça n'a pas réglé le problème ...
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyDim 4 Mar 2012 - 17:49

Bonjour, en regardant mes anciens jeux, je viens de remarquer qu'il n'y avait pas que les surfaces qui s'affichaient mal :
Problème d'affichage de surfaces 03_03_12
Là, on voit clairement qu'il y a un problème au niveau du sprite de Link, alors que sur mon ancien ordinateur il n'y en avait pas !
Donc, je ne comprends pas ...
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMer 16 Mai 2012 - 12:05

Toujours pas de solutions, que ce soit pour mon problème initial ou celui du message précédent ?
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMer 16 Mai 2012 - 16:25

Le problème se situe bien au niveau de la taille du sprite, nan? C'est souvent du à une position ou une valeur du sprite comme sa taille avec des décimales:
x = 129.50 ;v)

_________________
SP Lecteur Multimedia
I am an Problème d'affichage de surfaces Gmq4 in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMer 16 Mai 2012 - 16:30

Merci, mais c'est étrange que le problème se déclare qu'avec mon nouveau pc, je n'ai jamais eu de problèmes semblables auparavant ...
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 2:00

N'arrivant pas à dormir, je me suis de nouveau penché sur mes problèmes, et j'ai enfin trouvé une solution ...

Pour le problème de déformation des sprites, c'est juste qu'il y avait un problème au niveau de la position.
En effet, j'ai vu dans mes codes que parfois je pouvais afficher des sprites avec une position en y, par exemple, égale à a+23/2 (a étant un entier naturel) ... je n'ai pas été bon sur ce coup là.

Et pour le problème de surface, il m'a suffit d'enlever tous les surface_free(...) ... là par contre, je n'ai pas compris, mais ça marche !

Maintenant que ça marche sur mon nouveau PC, je vais devoir tester tout ça sur mon ancien PC pour voir s'il n'y a pas de problème d'affichage ...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 11:10

Houla, étrange en effet. Perso j'ai plutôt eu le problème inverse.
J'ai déjà eu des bugs d'affichages après avoir relancé le jeu et oublié de libérer mes surfaces.

Essaye vraiment de cerner le problème dans un projet vide de test, car libérer les surfaces, c'est quand même pas mal important x)
Surtout que selon comment tu t'y prend tu risque d'avoir un bon gros débordement de mémoire (a moins d'utiliser toujours la ou les même surfaces pendant tout le jeu).

_________________
Problème d'affichage de surfaces Runningpotato1Problème d'affichage de surfaces TvF6GED Problème d'affichage de surfaces MdetltS
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 11:53

Ou plus simplement, mon code est-il correct ?

Je ne mets qu'une partie du code.
Toutes les variables sont initialisées dans instance_create.
Ce code est dans un end_step :
Code:
{
if surface_refresh[1]=true
    {
    switch(ecran)
        {
        case"banque_de_donnees"://surface_free(surface[1]);
        surface[1]=surface_create(89,29*(selection_max[1]+1));
        surface_set_target(surface[1]);
        //
        draw_set_font(global.font_hud);
        draw_set_halign(fa_center);
        draw_set_valign(fa_middle);
        //
        draw_text_color_scr(21+66/2,-2+1+23/2,"??????",60,c_selection[1,0],selection_alpha[1]);
        draw_text_color_scr(21+66/2,-2+1+23/2+29,"??????",60,c_selection[1,1],selection_alpha[1]);
        draw_text_color_scr(21+66/2,-2+1+23/2+29*2,"Créatures",60,c_selection[1,2],selection_alpha[1]);
        draw_text_color_scr(21+66/2,-2+1+23/2+29*3,"Recherches",60,c_selection[1,3],selection_alpha[1]);
        draw_text_color_scr(21+66/2,-2+1+23/2+29*4,"??????",60,c_selection[1,4],selection_alpha[1]);
        //
        for(i=0;i<=selection_max[1];i+=1)
            {
            draw_sprite_ext(menu_selection_spr,0,21,29*i,1,1,false,c_selection[1,i],selection_alpha[1]);
            draw_sprite_ext(menu_selection_artefact_spr,i,0,29*i+3,1,1,false,c_selection[1,i],selection_alpha[1]);
            }
        //
        draw_set_halign(false);
        draw_set_valign(false);
        //
        surface_reset_target();break;
        ...

Je viens de tester sur mon ancien PC le code sans surface_free(...), le jeu s'arrête car il dit qu'il essaye d'afficher une surface non existante ... je ne comprends plus rien !
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 12:06

Oui y a bien un problème dans ton code, car tu crée une surface a chaque step : surface[1]=surface_create(89,29*(selection_max[1]+1));
T'auras donc un débordement de mémoire si tu la supprime pas.

Je pense qu'il y a des bugs car parfois tu essaye de supprimer une surface non existante ? A essayer :
if(surface_exists(surface[1])) surface_free(surface[1])

_________________
Problème d'affichage de surfaces Runningpotato1Problème d'affichage de surfaces TvF6GED Problème d'affichage de surfaces MdetltS
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 12:27

Non, la surface n'est créée que lorsque surface_refresh[1]=true.
Quand mon code est fini, je mets un surface_refresh[1]=false.
Donc je ne pense pas qu'il n'y ait de problème à ce niveau.

EDIT : if(surface_exists(surface[1])) surface_free(surface[1]) semble marcher comme s'il n'y avait pas le surface_free, je vais voir si ça marche sur mon ancien PC.
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 15:58

Le problème est réglé en ajoutant draw_clear_alpha(c_black,0) après le surface_set_target(...).
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 16:32

Eh ben.. des fois les solutions sont tellement connes qu'on y pense même pas xD
Fin perso le draw clear quand je manipule des surface c'est une habitude :b

_________________
Problème d'affichage de surfaces Runningpotato1Problème d'affichage de surfaces TvF6GED Problème d'affichage de surfaces MdetltS
Revenir en haut Aller en bas
linkdu83
Petit bavard
linkdu83


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

Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces EmptyMar 22 Mai 2012 - 16:38

En même temps, je ne connaissais pas cette fonction ...
Dorénavant, je vais l'utiliser dès que je me servirai d'une surface, au moins, pas de problèmes !

EDIT : Je n'ai vraiment pas été bon sur ce coup là, en effet j'avais eu le même problème il y a moins de 2 ans :
https://cbna.forumactif.com/t10258-probleme-de-surfaces#294430
Et gabin49 avait trouvé cette solution ... (donc il y aura bien un problème sur les vieux ordinateurs cf. topic)
Revenir en haut Aller en bas
Contenu sponsorisé





Problème d'affichage de surfaces Empty
MessageSujet: Re: Problème d'affichage de surfaces   Problème d'affichage de surfaces Empty

Revenir en haut Aller en bas
 
Problème d'affichage de surfaces
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème de surfaces
» [Résolu] Problème avec les surfaces et les vues
» [FAQ] Surfaces
» Surfaces de M**** !!!!!
» Les surfaces

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: