Page 2 sur 6
Publié : sam. 11/déc./2004 0:19
par filperj
Publié : sam. 11/déc./2004 1:52
par Fred
Je viens juste de corriger un autre bug, quand ExamineKeyboard() n'etait utilisé du tout dans le code, la touche ESC pouvait interferer sur l'écran. Les nouvelles libraries sont toujours la:
www.purebasic.com/markus/ Tous mes tests se passent maintenant parfaitement (XP SP 2). Si certains d'entre vous pouvaient tester sur une autre configuration...
Publié : sam. 11/déc./2004 2:25
par Flype
bonsoir fred, il est tard mais c le week end alors un peu de prog
stp, pourrait-tu poster un source test qui regroupe l'ensemble des éléments à tester pour accélérer le débugage sur pls système.

Publié : sam. 11/déc./2004 2:47
par Flype
avec Waponez II ca marche bien.
apres le Alt-Tab le processeur descend à 0% ensuite en revenant au jeu tout est là, bien en place...
Publié : sam. 11/déc./2004 3:15
par garzul
Perfect Fred du bon boulot en si peu de tant " avez vous demandez un service rapide sir marcus

" @++ et encore trés bon service rapide

Publié : sam. 11/déc./2004 10:07
par comtois
J'ai testé avec un de mes codes , et ça fonctionne plutôt bien , sauf que parfois le personnage disparait .Mais je soupçonne que le problème vient de mon code , j'ai repris le code tel qu'il était, je ne teste pas
IsScreenActive().
Par contre si je place le personnage au bord d'une plateforme , et que je fais ALT TAB , quand je relance le jeu, je retrouve mon personnage accroché au rebord de la plateforme (c'est normal , c'est prévu dans le code , mais bon , normalement , je devrais retrouver mon personnage à la même position non ? ).
http://perso.wanadoo.fr/comtois/sources/plateforme6.zip
Je suis sous XP SP2 .
Je peux fournir le source si c'est nécessaire.
Publié : sam. 11/déc./2004 10:32
par Fred
Le bug concerne seulement la corruption des sprites (image corrompue). Je ne sais pas pourquoi le perso disparait mais à mon avis c'est un test dans ton code non ? J'ai fait de plus amples tests avec 100 Mo de sprites video et ca marche nickel (ca met 2-3 secondes pour switcher du ALT-TAB mais bon au moins ca marche..). Si tu ne teste pas IsScreenActive(), alors ton jeux continue à se derouler de maniere hyperrapide (car FlipBuffers() n'attends plus la synchro verticale). Quelqu'un est encore sous Win98/ME/2000 avec DX7 ?
Publié : sam. 11/déc./2004 10:47
par comtois
Je viens d'ajouter un test dans le programme , juste après le FlipBuffers()
Code : Tout sélectionner
If IsScreenActive()=0
Repeat
FlipBuffers()
Until IsScreenActive()
EndIf
Et maintenant ,ça fonctionne parfaitement .
Je n'avais pas prévu mon programme pour ça , mais maintenant que ça devient simple à faire , je ne vais pas m'en priver , merci Fred

Publié : sam. 11/déc./2004 11:07
par comtois
je viens de faire un essai avec un prog qui utilise la 3D , et là j'ai un beau plantage
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!
Program: D:\PureBasic3_92\Compilers\PureBasic8532453.exe
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
---------------------------
OK
---------------------------
[EDIT]
Je réalise que ce post est hors sujet , le correctif ne concerne que les sprites .
Publié : sam. 11/déc./2004 11:07
par Le Soldat Inconnu
Fonctionne nickel (avec une GeForce2)
J'ai testé avec mon jeu de stratégie, 215 sprites.
ça mets un peu de temps à revenir sous windows 2-3 secondes mais je n'ai eu aucun problème avec les sprites au retour sous le jeu.
Publié : sam. 11/déc./2004 11:39
par Fred
comtois a écrit :Je viens d'ajouter un test dans le programme , juste après le FlipBuffers()
Code : Tout sélectionner
If IsScreenActive()=0
Repeat
FlipBuffers()
Until IsScreenActive()
EndIf
Et maintenant ,ça fonctionne parfaitement .
Je n'avais pas prévu mon programme pour ça , mais maintenant que ça devient simple à faire , je ne vais pas m'en priver , merci Fred

Je conseille de mettre un Delay(20) à la place du FlipBuffers() pour liberer completement le temps CPU, comme dans Waponez.
Régis: merci pour tes tests. Je vais voir si je peux pas optimiser le temps de transfert.
Publié : sam. 11/déc./2004 11:59
par comtois
j'ai remplacé le flipbuffers() par un delay(20) , mais c'était impossible de relancer le jeu .
Finalement , en faisant
Code : Tout sélectionner
If IsScreenActive()=0
Repeat
Delay(20)
FlipBuffers()
Until IsScreenActive()
EndIf
je peux relancer le jeu, et la CPU n'est plus à 100% ( merci de me l'avoir signalé , je n'avais pas fait attention à ça ).
J'ai regardé Waponez , il faudra peut-être que dans mes prochains codes , je fasse le test de
IsScreenActive() de la même façon .Mais là c'était juste pour faire un essai avec un code existant , qui n'était pas prévu pour ça.
Publié : sam. 11/déc./2004 13:42
par Le Soldat Inconnu
Fred si tu veux la source du jeux pour faire tes tests, n'hésite pas

Publié : sam. 11/déc./2004 13:48
par Flype
salut soldat inconnu - heu au fait :
Passer de l'ombre à la lumière est juste une histoire d'orientation de la lampe de chevet.
oui enfin vu le temps que tu passe devant ton écran tu dois pas souvent etre dans l'ombre

Publié : sam. 11/déc./2004 13:54
par Marcus
Merci Fred de te pencher sur le sujet
Mes tests:
http://perso.wanadoo.fr/marcus.zone/fic ... s_fred.zip
juste un truc qui affiche un sprite 2d en mouvement et un 3d en rotation zoumé avec musique mod ou midi . (Super nana

)
Sous Xp sp2 :
les graphismes ne sont pas altérés , exellent

( jolis tétons

)
par contre le jeu ne se met pas en pause , bouffe 100% du cpu étant replié dans les taches . la zik en mod effectue une pause , mais la midi continue .
Sous 2000 sp4 :
les graphismes bugent encores
surtout si l'on ne relache pas assez vite le alt apres alt+tab.
reste hidem qu'avec xp.
Je répète que le jeu replié dans la bare des taches ne crée pas d'icone dans le menu deroulant alt+tab qui s'affiche au millieu du bureau ( il faut bien sur plusieurs fenetres ouvertes pour que ce menu aparaisse).
Soit :
Encore Merci FRed .
perso ne m'en fou que sous 2K sa marche pas vu que seulement 2% des pc tournent dessus.
le problemes du cpu bouffé peut etre résolu comme le dis Comtois en remplacant le FlipBuffers() par une boucle du style
Code : Tout sélectionner
If IsScreenActive()=0
Repeat
Delay(20)
FlipBuffers()
Until IsScreenActive()
EndIf
on peu eventuellemnt inclure dans cette boucle un test movie pour mettre en pause les midi .
Ma conclusion :
Bravo Fred

t'as fais un grand pas . la mise en pause auto serait le top , et l'icone dans le menu deroulant ferait plus PRO
Et pour 2k ---, pas grave c'est Xp qui rêgne en maître .