La 3.90 est sortie

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Bon j'attendais d'avoir la doc au sujet de flipbuffer() en pensant que j'en apprendrais plus sur mon problème avec sokoban3D , mais j'avoue que je ne saisis pas comment il faut faire
FlipBuffers([AttendreSynchronisation]) , AttendreSynchronisation doit prendre quelle valeur ??

normalement si j'ai bien compris , je ne devrais rien mettre puisque Par défaut, FlipBuffers() attend la synchronisation de l'écran.

Pourquoi avec la 3.81 , sokoban3D avait un FPS de 60 chez moi ( c'est la fréquence de mon écran ) , alors qu'avec la 3.90 ça monte à plus de 300 ? j'ai une bonne carte graphiqued'accord , mais bon , c'est trop rapide :)

Et Setframerate(60) n'a pas d'effet sur le FPS.
hackotedelaplaque
Messages : 121
Inscription : mer. 21/janv./2004 22:18

Message par hackotedelaplaque »

Au sujet du paramètre de flipbuffers, dans mon cas c'est pile poil la mise à jour que je souhaitais car mon PC avait exacemment le symptôme de "parasite" décrit dans la doc (une sorte de scintillement).
En mettant ce fameux paramètre tout fonctionne nickel !
(je précise, j'ai mis 60 en paramètre)
(Dans mon cas Setframerate(60) fonctionne parfaitement.
J'ai une Geforce 256 pour info, une vieillerie mais qui fait des miracles grâce à PB ! )

Bref une grande mise à jour que voici, un grand merci à Môssieur Fred !!!!
10 CLS
20 PRINT "Vive PureBasic"
30 GOTO 20
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

je pense qu'il faut simplement metre #FALSE ou #TRUE, aparement c'est pour le waitvbl (marcus? t'es ou? il est la ton wait vbl!!! :lol: ) mais je suis pas sur!
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

hackotedelaplaque a écrit :En mettant ce fameux paramètre tout fonctionne nickel !
Tu pourrais me dire c'est quoi ce fameux paramètre ?

C'est justement ce que je ne sais pas !
Invité

Message par Invité »

"Par défaut, FlipBuffers() attend la synchronisation de l'écran."
ben c'est simple ; si tu met pas de parametres l'affichage (backscreen et frontscreen) est permuté lorsque le faiseau de ton ecran arrive en bas a droite (60 fois par seconde en 60 Hz). une vbl (vertical blank landing) c'est la fin de l'affichage de l'ecran generalement un declenchement d'interruption du system d'exploitation
qui s'affiche comme ça

ligne 1 :----------------------------------: horizontal blank
ligne 2 :----------------------------------: HBL
ect ...

derniere ligne : ------------------------------------------ :VBL (retour au debut)


voila, l'image est affiché, le pure va profiter du signal donné en fin d'ecran
pour synchroniser le flip avec cette horloge !! :D
donc plus de rafraichisement au millieu de l'ecran qui faisait afficher une partie de l'image 2 alors que l'image 1 n'avais pas fini d'etre montre par le monitor ......

:D
ps : FRED : a quand une maitrise du HBL pour faire des effets speciaux
(affichage de plusieurs ecran symultané) comme les demos d'avant
(si c'est possible sur pc ??) :D
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

là je crois qu'il faut pas trop en demander nonplus mais ça pourrait être marrant :)
hackotedelaplaque
Messages : 121
Inscription : mer. 21/janv./2004 22:18

Message par hackotedelaplaque »

(je précise, j'ai mis 60 en paramètre)
10 CLS
20 PRINT "Vive PureBasic"
30 GOTO 20
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

60 en paramètre pour flipbuffers() ?

apparemment ,d'après la doc anglaise :
It can have one of the following values:
0 : disable synchronization
1 : enable synchronization (default value)
donc si tu veux la synchro , tu ne mets rien , si tu ne la veux pas , tu mets 0 .
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

60 en paramètre pour flipbuffers() ?
Ben ça veut dire que la prog est bien faite.
Si c'est 0 ou moins, c'est 0
Si c'est 1 ou plus, c'est 1

Voilà! 8) :10:

Chris :)
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

certes , mais bon , autant connaitre les paramètres qu'attend vraiment la fonction :)
Inutile de partir sur une fausse piste en pensant agir sur le FPS en mettant 60 , je voulais juste le détromper :)
Marcus
Messages : 187
Inscription : jeu. 22/janv./2004 19:08
Contact :

Message par Marcus »

je pense qu'il faut simplement metre #FALSE ou #TRUE, aparement c'est pour le waitvbl (marcus? t'es ou? il est la ton wait vbl!!! ) mais je suis pas sur!
Oui chuis là :lol:
j'etais parti chez Blitz --- m'a tellement saoulé ce truc que je code plus :x
bé ui quant on a gouté au Pure --- le reste -- :lol:

Cool le vrai WaitVbl Pure :)
en plus il marche :D
A default de multitache on va pouvoir faire du plien ecran sous windobe --- pas top mais bon on fera avec en attendant mieux :roll:

Merci Fred :wink:
hackotedelaplaque
Messages : 121
Inscription : mer. 21/janv./2004 22:18

Message par hackotedelaplaque »

Bah Comtois je t'assure que j'ai mis 60 comme paramètre et que je n'ai plus de bogues.
Si les valeurs sont ou 1 ou 0 et vu que ça a réglé mon pb je pense que l'explication de chris correspond à mon cas.
je me suis dit vu que l'inversion des buffers n'étais pas synchronisée avec mon affichage, que je devais forcer le paramètre "60" sous entendu après la 60ème frame ---> tu inverses les front et backbuffers.
ce qui après réflexion est complètement con puisque tout est redessiné à chaque frame.

Je testerai ce soir avec 1, #true et #PB_True voir ce que ça donne.

Toujours est-il que quelques soient les basic utilisées (blitz, dark et jusqu'à maintenant Pure) j'ai toujours eu ce problème de "scintillement" lorsque la fonction vsync de ma carte graphique était activée (avec le jeu PES3 aussi).

Suis désolé si je t'ai emmêlé les pinçeaux comtois, tu as tellement répondu à mes questions jusque là que je voulais t'aider pour une fois !
10 CLS
20 PRINT "Vive PureBasic"
30 GOTO 20
hackotedelaplaque
Messages : 121
Inscription : mer. 21/janv./2004 22:18

Message par hackotedelaplaque »

comtois a écrit :donc si tu veux la synchro , tu ne mets rien , si tu ne la veux pas , tu mets 0 .
Au passage, la valeur par défaut ne doit pas être "1" puisque sans paramètre à mon flipbuffers l'affichage est désynchronisé.
Ou alors ma machine est une bête rare !
10 CLS
20 PRINT "Vive PureBasic"
30 GOTO 20
Répondre