Ne touchez pas à votre téléviseur.

Sujets variés concernant le développement en PureBasic
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Ne touchez pas à votre téléviseur.

Message par beauregard »

bonsoir,
Aujourd'hui, j'ai codé comme rarement, et en lançant pour la énième fois mon code, je m'aperçois d'un fait insolite: une chute de 10 images/s environs( 50 image/seconde au lieu de 60).

Je garde mon calme, je redémarre la machine, le problème est toujours là. J'étteind la machine, je démarre à nouveau, et le problème est toujours présent.

Alors j'incrimine mon code: j'enlève des parties de celui-ci, je désactive même procédure après procédure...et je finis par découvrir la fautive, ouf!

Cette procédure ne contient rien d'extraordinaire, bizarre, chuis bien embété là, une suite de condition, pas de boucle, étrange. Non, je ne vois pas ce qui peut mettre en difficulté mon pb d'amour.

Bon ben, ne sachant que faire, c'est avec un léger désespoir que je réactive cette procédure, j'appui sur F5.... et là mon code tourne à 60 image/s !!!

Pourquoi ? je ne sais pas.

Je lance mon code entier avec frénésie, pareil, tout est redevenus normal, çà roule à 60i/s.

Pourquoi ? Je ne sais pas. Tout ce je peux dire, c'est que j'ai déjà subis ce phénomène étrange, il y a une semaine environs, et qu'il avait lui aussi disparu inexplicablement après plusieurs minutes d'angoisse et de doute. J'utilise la version 4.10 de pb, sur un PC( win XP pro sp2) non connecté au net, et dossier UserLibrairies vide. Alors si vous aussi avez été victime malheureux de ce fait insolite, venez donc témoigné ici.
A+
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

a mon avis cela viens de la fragmentation de la Ram !!

ben oui la Ram aussi se fragmente !! sans parler des acces au disque virtuel
souvent parcequ'on laisse des brides d'application en Ram, pour rien
(sans parler des liberation de Dll en plus ... ):)

fait une recherche sur le Forum , tu trouvera meme un Code du Soldat inconnu pour défragmenter ta Ram !! :D
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Je suis peut-être totalement hors sujet, et au risque d'être ridicule :roll: ... Pourquoi le titre "Ne touchez pas à votre téléviseur" ????? :oops:
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Twilight Zone

Message par beauregard »

Oliv a écrit :Je suis peut-être totalement hors sujet, et au risque d'être ridicule :roll: ... Pourquoi le titre "Ne touchez pas à votre téléviseur" ????? :oops:

Code : Tout sélectionner

Sous des aspects fantastiques, "Twilight Zone" raconte des histoires d’individus confrontés à leurs angoisses, leurs peurs et leurs désillusions, sans omettre d’évoquer également leurs espoirs. "La quatrième dimension" est essentiellement axée sur l’être humain en tant qu’individu...
Dobro a écrit :a mon avis cela viens de la fragmentation de la Ram !!
merci pour l'info :) Cela me rassure, et je dirai même plus, je suis soulagé.
A+
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

C'est bien ce que j'avais peur, pas de mon âge :) (Enfin je connais mais j'avais zappé)
Pour ceux qui veulent plus d'explications : http://fr.wikipedia.org/wiki/La_Quatriè ... télévisée) :lol:


Sur-ce, bonne nuit :roll:
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Twililght zone... on a jamais fait aussi bien .... Merci Rod Serling ! Je vous conseille le coffret de la saison 1 qui est sortie en decembre... 8)
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

j'ai préféré "The Outer Zone", Au Delà Du Réel en France, que je trouve mieux réalisé et plus intéressante. Enfin, c'est une question de gout je suppose.

Pour en revenir au sujet, si tu arrives à découvrir la source du problème de manière sure, n'hésite pas à nous le dire :3
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

poshu a écrit :j'ai préféré "The Outer Zone", Au Delà Du Réel en France, que je trouve mieux réalisé et plus intéressante. Enfin, c'est une question de gout je suppose.

Pour en revenir au sujet, si tu arrives à découvrir la source du problème de manière sure, n'hésite pas à nous le dire :3
The Outer Zone c'est la reprise des scénario de The Twilight Zone en un peu plus moderne. Mais tout le génie reste celui de Rod Serling :P
Bon j'arrête là sinon je vais pourrir le sujet :roll:
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Thyphoon a écrit :
poshu a écrit :j'ai préféré "The Outer Zone", Au Delà Du Réel en France, que je trouve mieux réalisé et plus intéressante. Enfin, c'est une question de gout je suppose.

Pour en revenir au sujet, si tu arrives à découvrir la source du problème de manière sure, n'hésite pas à nous le dire :3
The Outer Zone c'est la reprise des scénario de The Twilight Zone en un peu plus moderne. Mais tout le génie reste celui de Rod Serling :P
Bon j'arrête là sinon je vais pourrir le sujet :roll:
Au delà du réel c'est parfois sympa (surtout la petite morale à la fin".. mais quel générique de merde !
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

+1 pour "la zone crépusculaire". Des scénarios absolument géniaux, fins, originaux, qui continuent à me hanter! Je suis en train de me refaire tous les épisodes, avec la famille pour les faire flipper :P

Il y en avait aussi des biens dans au-delà du réel, même si je trouve que le niveau était un poil en dessous (je parle bien du scénario et de l'idée originale). J'avais bien aimé aussi les chroniques martiennes, même si ça n'a pas grand chose à voir avec l'EXCELLENT livre de RB.

PS: pas moyen d'avoir un topic non pollué sur ce forum!!!

PS2 : pour la question de beauregard... C'est là qu'on voit qu'on est sur un PC sous Windows, et que même si ta tâche est au premier plan, que c'est celle que tu veux utiliser et pour laquelle tu veux que toutes les ressources possibles soient allouées, sans que le focus se barre, cet imbécile d'OS fait autre chose derrière et vient te piquer tes FPS! Génial DirectX, qui gère même la mémoire!!!

Dis-toi que ça arrive à tout le monde; quelquefois c'est ton code qui est mal foutu, et une partie ne rentre pas dans le cache; du coup celui-ci est déchargé/rechargé à chaque passage et ça ralentit tout. Je m'étais bien battu avec les alignements pour voir si je pouvais régler ce problème. A mon avis c'est peine perdue, puisqu'au final, malgré la soi-disant linéarité mémoire, on n'a aucun contrôle là dessus (me trompé-je?).

Quelquefois tu as une petite tâche vicieuse derrière... Genre un logiciel de téléchargement, un antivirus, un économiseur d'écran (ça c vraiment une plaie! incroyable qu'en 2008 on soit encore emmerdé par ça!), ou tout simplement... un virus!
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

djes a écrit :Quelquefois tu as une petite tâche vicieuse derrière... Genre un logiciel de téléchargement, un antivirus, un économiseur d'écran (ça c vraiment une plaie! incroyable qu'en 2008 on soit encore emmerdé par ça!), ou tout simplement... un virus!
pour éviter tout cela, j'ai une 2eme machine qui ne risque pas d'attrapper la grippe, car elle est seule monde( non connectée).

je tiens aussi à te dire merci de livrer ici ton expérience, c'est instructif.

Vous pouvez vous détendre avec mes topics, car j'aime bien voir un sujet sérieux, cohabiter avec un autre sujet plus léger*. ;)

* en parlant de mémoire justement: je crois que le cerveau a 2 hémisphères, l'un artistique, l'autre mathématique. Et quand on fait un jeu tout seul, ben faut faire travailler les 2( en alternance, hein).
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Message par case »

non j'écris mon code de façon artistique :p


:D


bon je sors :)
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

case a écrit :bon je sors :)
par ce temps ? reste donc avec nous, bien au chaud ;)
Mon personnage peut nager, masqué par des sprites3D transparent représentant l'eau: j'ai enfin atteind cet objectif, content je suis.
Dernière modification par beauregard le dim. 13/janv./2008 23:57, modifié 1 fois.
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

un souvenir d'une astuce que Dobro m' a donné l'été dernier:

Code : Tout sélectionner

FlipBuffers(60)
Utilisé en plein écran, le nombre d'image était hallucinant et le petit jeu peur basique incontrôlable. Mais en l'appliquant au mode fenêtré et en virant le delay...
j'ai remplacé cela:

Code : Tout sélectionner

FlipBuffers() 
 Delay(5)
ClearScreen(RGB(0,0,0))
par ceci:

Code : Tout sélectionner

FlipBuffers(60) ; <- merci Dobro, merci 1000 fois!
ClearScreen(RGB(0,0,0)) 
Et là c'est le fluidité absolu, en toute circonstance, joie! :D
un petit résumé du code:

Code : Tout sélectionner

; J'ai ouvert mon téléviseur, et j'ai vu...
; pb 4.10, win xp
; objectif: réaliser un jeu fluide en 1024*768 avec scrolling en mode fenêtré.
; testé sur athlon64 3500+ avec geforce 7600GS.
 
 ; le début de votre code( variables, tableaux, listes chainées)
 Enumeration
 #fleche ; exemple pour un sprite
 EndEnumeration
 
 Repeat
  Event=WindowEvent()

 
  ; votre code tout en procédure et boucle de folie, vous pouvez y aller avec générosité :)

 
FlipBuffers(60) ; <- merci Dobro, merci 1000 fois!
ClearScreen(RGB(0,0,0)); la couleur que vous voulez, peu importe. 
If Event=#PB_Event_CloseWindow Or keyboard pushed(#PB_Key_Escape):Fin():EndIf  
  
Procedure.l Fin()
If IsImage(#fleche):FreeImage(#fleche):EndIf ; on libère la mémoire
End
EndProcedure  
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

et c'est supposé faire quoi ce FlipBuffers(60) ??
As-tu essayé en mettant FlipBuffers(0) ? est-ce que tu as le même résultat ?

en mode fenêtré tu peux aussi utiliser SetFrameRate(ImagesParSeconde)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre