La 3.90 est sortie
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.
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.
-
- Messages : 121
- Inscription : mer. 21/janv./2004 22:18
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 !!!!
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
20 PRINT "Vive PureBasic"
30 GOTO 20
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"Par défaut, FlipBuffers() attend la synchronisation de l'écran."
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 !!
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 ......
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 ??)
-
- Messages : 121
- Inscription : mer. 21/janv./2004 22:18
Oui chuis là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!
j'etais parti chez Blitz --- m'a tellement saoulé ce truc que je code plus
bé ui quant on a gouté au Pure --- le reste --
Cool le vrai WaitVbl Pure
en plus il marche
A default de multitache on va pouvoir faire du plien ecran sous windobe --- pas top mais bon on fera avec en attendant mieux
Merci Fred
-
- Messages : 121
- Inscription : mer. 21/janv./2004 22:18
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 !
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
20 PRINT "Vive PureBasic"
30 GOTO 20
-
- Messages : 121
- Inscription : mer. 21/janv./2004 22:18
Au passage, la valeur par défaut ne doit pas être "1" puisque sans paramètre à mon flipbuffers l'affichage est désynchronisé.comtois a écrit :donc si tu veux la synchro , tu ne mets rien , si tu ne la veux pas , tu mets 0 .
Ou alors ma machine est une bête rare !
10 CLS
20 PRINT "Vive PureBasic"
30 GOTO 20
20 PRINT "Vive PureBasic"
30 GOTO 20