PURE BASIC - Le Topic officiel
+8
grostonton
Urbinou
ShiningBZH
Tryphon
goux.m
jmg49
Capitaine
Shaoth
12 participants
Page 7 sur 12
Page 7 sur 12 • 1, 2, 3 ... 6, 7, 8 ... 10, 11, 12
Re: PURE BASIC - Le Topic officiel
C'est pas de la 3D (c'est du raycasting). Donc oui, je pense que c'est basé sur une lib 2D classique genre SDL...
Tryphon- Docteur *
- Nombre de messages : 26166
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
sinon je suis desormais bien autonome sur Pure... j'ai reconstitué mon moteur procedural, j'ai mis au point le drag & drop... COSMOS II ca va devenir un vrai projet !
mon seul réel blocage/énervement aura été ces fameuses fontes (pure devrait proposer quand meme une option qui évite d'etre confronté à ce probleme, je ne l'ai jamais rencontré avec d'autres basic, et j'en ai essayé des dizaines). J'aurai un pc qui merde... bon... mais il ne merde pas en 125% avec les autres basic... donc y a quand meme un petit quelque chose je pense
je n'ai pas encore examiner le son, la sauvegarde, mais ca ne devrait pas etre un probleme
Merci à nouveau au Prof Dobro qui a facilité mon adaptation et m'a permi de gagner du temps
mon seul réel blocage/énervement aura été ces fameuses fontes (pure devrait proposer quand meme une option qui évite d'etre confronté à ce probleme, je ne l'ai jamais rencontré avec d'autres basic, et j'en ai essayé des dizaines). J'aurai un pc qui merde... bon... mais il ne merde pas en 125% avec les autres basic... donc y a quand meme un petit quelque chose je pense
je n'ai pas encore examiner le son, la sauvegarde, mais ca ne devrait pas etre un probleme
Merci à nouveau au Prof Dobro qui a facilité mon adaptation et m'a permi de gagner du temps
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Tryphon a écrit:C'est pas de la 3D (c'est du raycasting). Donc oui, je pense que c'est basé sur une lib 2D classique genre SDL...
bon, ok
De toute façon mon choix définitif est fait : je code desormais en Pure, malgré ses défauts et le Prof Dobro me fait vibrer quand il balance que c'est du bas niveau proche de l'assembleur
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
en cas de besoin vraiment Technique , je te conseille le Forum "Anglais"
de Purebasic
ici : FORUM ANGLAIS
, le Forum Français, n'est plus que l'ombre de lui -meme
il reste quelques bon codeurs, mais on les comptes sur les doigts d'une main...
par contre, je te l'ecris ici, car c'est pas toujours bien compris lorsqu'on arrive sur ces forums
on partage du code pour expliquer un probleme ...
on partage une routine, pour que les autres puissent la tester et éventuellement trouver le problème soulevé ..
ou trouver une solution de contournement
au mieux on essai de faire un petit prg de quelques lignes, qui font ressortir le bug..
(si on ne tiens pas a partager son code original )
les forums Français (mais surtout anglais) sont tres réactif
tu poses une question , tu aura probablement une réponse dans les minutes qui suivent ..
bienvenu dans la liste des utilisateurs de ce bel outils ...
ps pour chronometrer une fonction ou une routine la fonction ELAPSEDMILLISECONDS() sert a ça ...
exemple
ici donc 30.000 affectation de valeur aléatoire (entre1 et 100 ) dans une variable CHAINE(c'est ce qui est le plus lent )
a lancer sans le Debugger ON bien sur, puisque celui-ci ralenti le tout ...
c'est pour ça que j'utilise Messagerequester() pour afficher le resultat
puisque Debug, ne fonctionnera pas .... :)
chez moi ça met : 4.77 secondes ... sans le debugger
et 4.84 avec le debugger actif
a Propos de l'assembleur , je cite la doc :
ps: on peut facilement (avec un Flag de compilation ) obtenir la version assembleur de notre Programme
bon perso... je suis une bille en assembleur ... mais sur le Forum Anglais, ils y a des gouroux de l'assembleur sous windows et Linux ..
il y a meme une rubrique reservé au codeurs Assembleurs Purebasic ici
http://forums.purebasic.com/english/viewforum.php?f=35&sid=906dc19d1a4f1c691492811175b52694
sur le Forum Français il y a eu quelques codeur Assembleur, qui maintenant ne viennent plus sur le forum
c'est ici que ça se passe
https://www.purebasic.fr/french/viewforum.php?f=12
des tutos ont ete ecrits en Français , donc c'est a lire :)
concernant les fontes, le probleme a surtout lieu lorsqu'on les utilises sur une surface DirectX
pour l'utilisation des fontes sur Gadget (widget... bouton, champ de saisie, editeur,label etc..) l'option Enable DPI aware doit etre coché...
et utiliser les fonctions
DesktopScaledX()
DesktopScaledY()
pour ce qui concerne les Fontes encore ...
quelques membre ont aussi cree des moteurs 2D /3D
ce sont souvent une collection de Procedures, qui permet d'etre dans le context d'un moteur de jeux ...
je pense a "MP3d Engine" par exemple (3d/2d)
apres il faut voir sur le forum anglais, ou tout ça en est .....
une recherche avec le terme "Engine" devrai renvoyer pas mal de reponses....
je sais par exemple qu'un membre avait fait en sorte qu'on puisse utiliser le moteur 3d du dark Basic
avec Purebasic .. , des trucs de ce genre, on en a eu pas mal :)
Tmyke qui avait fait un moteur 3d de toute piece ...(que j'ai longtemps utilisé pour mon PureGolo 3D )
bref... c'est un nouveau monde qui s'ouvre a toi , et des nuits blanches en perspective LOL
de Purebasic
ici : FORUM ANGLAIS
, le Forum Français, n'est plus que l'ombre de lui -meme
il reste quelques bon codeurs, mais on les comptes sur les doigts d'une main...
par contre, je te l'ecris ici, car c'est pas toujours bien compris lorsqu'on arrive sur ces forums
on partage du code pour expliquer un probleme ...
on partage une routine, pour que les autres puissent la tester et éventuellement trouver le problème soulevé ..
ou trouver une solution de contournement
au mieux on essai de faire un petit prg de quelques lignes, qui font ressortir le bug..
(si on ne tiens pas a partager son code original )
les forums Français (mais surtout anglais) sont tres réactif
tu poses une question , tu aura probablement une réponse dans les minutes qui suivent ..
bienvenu dans la liste des utilisateurs de ce bel outils ...
ps pour chronometrer une fonction ou une routine la fonction ELAPSEDMILLISECONDS() sert a ça ...
exemple
Depart_temp=ElapsedMilliseconds()
seed=RandomSeed(1) ; on utilise un Seed precis
For i= 1 to 30000
a$=a$+str(random(100,1))+" " ; on tire un chiffre aleatoire tiré de la liste Seed 1
Next i
; sortira toujours les chiffres 73,19,61
temp_passe=ElapsedMilliseconds()-Depart_temp
MessageRequester ("info", "La routine a mis "+strf(temp_passe/1000,2)+" milliseconds pour s'executer")
ici donc 30.000 affectation de valeur aléatoire (entre1 et 100 ) dans une variable CHAINE(c'est ce qui est le plus lent )
a lancer sans le Debugger ON bien sur, puisque celui-ci ralenti le tout ...
c'est pour ça que j'utilise Messagerequester() pour afficher le resultat
puisque Debug, ne fonctionnera pas .... :)
chez moi ça met : 4.77 secondes ... sans le debugger
et 4.84 avec le debugger actif
a Propos de l'assembleur , je cite la doc :
- Les bibliothèques externes sont également toutes écrites en langage assembleur optimisé pour plus de rapidité et de compacité
- Les API's de Windows (Linux et OSX) sont supportées et considérées comme des mots-clé du BASIC
- Langage assembleur intégré permettant d'insérer toute commande ou routine assembleur dans le corps du programme Basic
ps: on peut facilement (avec un Flag de compilation ) obtenir la version assembleur de notre Programme
bon perso... je suis une bille en assembleur ... mais sur le Forum Anglais, ils y a des gouroux de l'assembleur sous windows et Linux ..
il y a meme une rubrique reservé au codeurs Assembleurs Purebasic ici
http://forums.purebasic.com/english/viewforum.php?f=35&sid=906dc19d1a4f1c691492811175b52694
sur le Forum Français il y a eu quelques codeur Assembleur, qui maintenant ne viennent plus sur le forum
c'est ici que ça se passe
https://www.purebasic.fr/french/viewforum.php?f=12
des tutos ont ete ecrits en Français , donc c'est a lire :)
concernant les fontes, le probleme a surtout lieu lorsqu'on les utilises sur une surface DirectX
pour l'utilisation des fontes sur Gadget (widget... bouton, champ de saisie, editeur,label etc..) l'option Enable DPI aware doit etre coché...
et utiliser les fonctions
DesktopScaledX()
DesktopScaledY()
pour ce qui concerne les Fontes encore ...
quelques membre ont aussi cree des moteurs 2D /3D
ce sont souvent une collection de Procedures, qui permet d'etre dans le context d'un moteur de jeux ...
je pense a "MP3d Engine" par exemple (3d/2d)
apres il faut voir sur le forum anglais, ou tout ça en est .....
une recherche avec le terme "Engine" devrai renvoyer pas mal de reponses....
je sais par exemple qu'un membre avait fait en sorte qu'on puisse utiliser le moteur 3d du dark Basic
avec Purebasic .. , des trucs de ce genre, on en a eu pas mal :)
Tmyke qui avait fait un moteur 3d de toute piece ...(que j'ai longtemps utilisé pour mon PureGolo 3D )
bref... c'est un nouveau monde qui s'ouvre a toi , et des nuits blanches en perspective LOL
Dernière édition par Dobro le Ven 11 Oct 2019 - 14:51, édité 1 fois
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PURE BASIC - Le Topic officiel
Ps: Pardon encore moi ...
a propos du code Fonte Graphique que je t'ai poster l'autre jour, j'ai réediter celui ci
qui ne me convenais pas , j'utilisais un sprite, mais en plus je l'utilisais mal
là, j'utilise une image , et bien mieux, donc le resultat est bien plus propre au final
a propos du code Fonte Graphique que je t'ai poster l'autre jour, j'ai réediter celui ci
qui ne me convenais pas , j'utilisais un sprite, mais en plus je l'utilisais mal
là, j'utilise une image , et bien mieux, donc le resultat est bien plus propre au final
- Code:
Enumeration
#font
#win
#bouton
#sprite1
#numero_ligne
EndEnumeration
Declare CreateLineText(win,num,txt.s,coul)
Declare WriteLineText(num,x,y)
If InitSprite() = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran & l'environnement nécessaire aux sprites !", 0)
End
EndIf
If LoadFont(#font,"Comic sans Ms",30,#BOLD_FONTTYPE)
Else
MessageRequester("erreur" ,"fonte pas chargée")
EndIf
If OpenWindow(#win, 0, 0, 320, 200, "Un écran dans une fenêtre...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered| #PB_Window_SizeGadget )
rez_x=WindowWidth(#win)-5 ; on recup la resolution de la fenetre
rez_y=WindowHeight(#win)-5
redimenssionnement_auto=#True
If OpenWindowedScreen(WindowID(#win), 0, 0, rez_x, rez_y,redimenssionnement_auto,1,1,1)
; ******************* creation d'un ligne de text ********************
CreateLineText(#win,#numero_ligne,"Purebasic Power",rgb(255,255,0))
; ***************************************************************
; ************* Le sprite carré qui bouge ****************************
CreateSprite(#sprite1, 20, 20)
If StartDrawing(SpriteOutput(#sprite1))
Box(0, 0, 20, 20, RGB(255, 0, 155))
Box(5, 5, 10, 10, RGB(155, 0, 255))
StopDrawing() ;>
EndIf;|
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
End ;|
EndIf
Endif
; ***********************************************************************
directionx = 2 :directiony=2
Repeat ; boucle Event
Event = WaitWindowEvent(2)
Select Event
Case #PB_Event_SizeWindow ; en cas de redimenssionnement de la fenetre
Case #PB_Event_CloseWindow
End
EndSelect
; ******************* Affiche la ligne de text ************************
StartDrawing(ScreenOutput())
WriteLineText(#numero_ligne,5,50) ; affiche la ligne de text
StopDrawing()
; *****************************************************************
x + directionx
y + directiony
If x >= (screenWidth()-20) : directionx = -2 : EndIf
IF y>= (screenHeight() -20) :Directiony = -2 :Endif
If x <= 0 : directionx = -directionx : EndIf
If y <= 0:directiony = -directiony :Endif
DisplaySprite(#Sprite1, x, y) ;affiche le sprite carré
FlipBuffers()
ClearScreen(rgb(255,255,255))
ForEver
; ********************* Zone des Procedures *************************
Procedure CreateLineText(win,num,txt.s,coul)
;By Dobro
if Isimage(num)
FreeImage(num)
Endif
; on dessine dans l'ecran la phrase a ecrire
; le but est de recuperer sa taille en pixel
StartDrawing(ScreenOutput())
DrawingFont(Fontid(#font))
larg_text=TextWidth(txt.s)
haut_text=TextHeight(txt.s)
StopDrawing()
; on a la taille en pixel , on creer l'image pour correspondre a la phrase
CreateImage(num,larg_text,haut_text)
; maintenant on peut ecrire le text dans l'image qui viens d'etre adapté en taille
StartDrawing(imageOutput(num))
DrawingFont(Fontid(#font))
DrawText( 1,1,txt.s,coul)
StopDrawing()
EndProcedure
Procedure WriteLineText(num,x,y)
;By Dobro
DrawImage(imageID(num),x,y) ; on dessine simplement notre image, qui contient notre text
EndProcedure
; Epb
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PURE BASIC - Le Topic officiel
Merci Prof Dobro.
je vais désormais solliciter moins d'aide, je pense maitriser 95% des commandes dont j'ai besoin pour mon jeu.
Mais je compte bien à que ce topic reste actif, c'est passionnant.
je vais désormais solliciter moins d'aide, je pense maitriser 95% des commandes dont j'ai besoin pour mon jeu.
Mais je compte bien à que ce topic reste actif, c'est passionnant.
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Dobro a écrit:
ps pour chronometrer une fonction ou une routine la fonction ELAPSEDMILLISECONDS() sert a ça ...
exemple
Depart_temp=ElapsedMilliseconds()
seed=RandomSeed(1) ; on utilise un Seed precis
For i= 1 to 30000
a$=a$+str(random(100,1))+" " ; on tire un chiffre aleatoire tiré de la liste Seed 1
Next i
; sortira toujours les chiffres 73,19,61
temp_passe=ElapsedMilliseconds()-Depart_temp
MessageRequester ("info", "La routine a mis "+strf(temp_passe/1000,2)+" milliseconds pour s'executer")
ici donc 30.000 affectation de valeur aléatoire (entre1 et 100 ) dans une variable CHAINE(c'est ce qui est le plus lent )
a lancer sans le Debugger ON bien sur, puisque celui-ci ralenti le tout ...
c'est pour ça que j'utilise Messagerequester() pour afficher le resultat
puisque Debug, ne fonctionnera pas .... :)
chez moi ça met : 4.77 secondes ... sans le debugger
et 4.84 avec le debugger actif
4 secondes, ca me semblait tres tres tres lent... du coup j'ai essayé
heu.... je l'ai fait sur mon pc portacle super bas de gamme : 8 secondes... contre 4 chez toi, donc logique.. et donc tres tres lent
et... heu... comment dire... quand je fais ma meme chose en Blitz, ca le fait en.... 0,2 secondes !!!!!!!!!!
heuuuuuu Professeur Dobro !!!?????
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Faut dire que c'est une très mauvaise façon de faire.
Il vaudrait mieux créer une chaîne de 30000 caractères et modifier l'élément numéro i...
Il vaudrait mieux créer une chaîne de 30000 caractères et modifier l'élément numéro i...
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
j'y crois pas, j'enchaine les tests de boucles... et tous mes autres basics (NAALAA, RCBASIC, BLITZ) eclatent toalement PURE BASIC !!!!
alors là.....
alors là.....
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
bon en calcul en boucles BLITZ defonce TOTALEMENT Pure, j'y crois pas... je m'attendais à l'inverse... quand je dis défonce c'est défonce, jusque parfois 20x plus rapide....idem en Naalaa ou en RC Basic, Pure se fait totalement défoncer
Y a qu'en affichage que Pure s'en sort correctement....
5 sec en Pure pour afficher 1 millions de points (sur mon celecon de base)
8 sec en Blitz
Y a qu'en affichage que Pure s'en sort correctement....
5 sec en Pure pour afficher 1 millions de points (sur mon celecon de base)
8 sec en Blitz
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Tu peux poster tes boucles ?
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
j'ai testé des tas de trucs hyper con
genre
for i=1 to 10000000
i=i*3.14/123
next
un truc comme ça BLITZ le fait 10x plus vite que Pure.... c'est vraiment surprenant la !!!!
Pure serait un mensonge ? Un scandale international ? Ou quelque chose m'echappe dans la matrice ?
genre
for i=1 to 10000000
i=i*3.14/123
next
un truc comme ça BLITZ le fait 10x plus vite que Pure.... c'est vraiment surprenant la !!!!
Pure serait un mensonge ? Un scandale international ? Ou quelque chose m'echappe dans la matrice ?
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Bas niveau dans le vrai sens du terme là
le test du Prof Dobro met 8 secondes en Pure sur mon Celeron, et 0,2 secondes en BLITZ... 40x plus rapide !!!!!
Et ca se confirme sur d'autres tests... rien que faire compter l'ordi de 1 à 100 millions, c'est hyper speed en BLITZ et d'une lenteur affligeante en Pure. On se croirait en Python !
JJ'ai trop hate de comprendre et d'entendre le Prof sur ce sujet !
le test du Prof Dobro met 8 secondes en Pure sur mon Celeron, et 0,2 secondes en BLITZ... 40x plus rapide !!!!!
Et ca se confirme sur d'autres tests... rien que faire compter l'ordi de 1 à 100 millions, c'est hyper speed en BLITZ et d'une lenteur affligeante en Pure. On se croirait en Python !
JJ'ai trop hate de comprendre et d'entendre le Prof sur ce sujet !
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Ta boucle a 100 millions fait quelque chose ? Parce que certains compilateurs sauteront cette boucle si elle ne fait rien, ou pour optimiser, feront certaines à l’envers si ça ne porte pas à conséquence.
Re: PURE BASIC - Le Topic officiel
dans les boucles je balance un mini calcul à chaque fois, et quelque soit ce calcul, les vieux basic pourris comme Blitz le font 10x, 20x plus vite que Pure... Pure est décrit partout comme le basic le plus rapide du monde.... Hu ?
En affichage de points par contre il se rattrappe... Sur 1 millions de PLOT Pure est 30% plus rapide cette fois..... faudrait que je teste maintenant l'affichage de 1 millions d'images transparentes.
On attends une réaction du Professeur Dobro.
En affichage de points par contre il se rattrappe... Sur 1 millions de PLOT Pure est 30% plus rapide cette fois..... faudrait que je teste maintenant l'affichage de 1 millions d'images transparentes.
On attends une réaction du Professeur Dobro.
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
drfloyd a écrit:j'ai testé des tas de trucs hyper con
genre
for i=1 to 10000000
i=i*3.14/123
next
un truc comme ça BLITZ le fait 10x plus vite que Pure.... c'est vraiment surprenant la !!!!
Pure serait un mensonge ? Un scandale international ? Ou quelque chose m'echappe dans la matrice ?
Hello, dans cet exemple il y a une erreur.
Tu utilises i à la fois comme compteur de boucle et dans ton calcul.
Essaie plutôt quelque chose comme:
x.f = 1
For i = 1 To 10000000
x.f = x.f * 3.14/123
Next i
Ca devrait déjà aller un peu plus vite
Pour les autres tests attendons Dobro.
basiclove- Patient en incubation
- Nombre de messages : 12
Age : 39
Localisation : XL
Date d'inscription : 12/10/2019
Re: PURE BASIC - Le Topic officiel
drfloyd a écrit:j'ai testé des tas de trucs hyper con
genre
for i=1 to 10000000
i=i*3.14/123
next
Ce calcul est sale parce que i est forcé d'être un entier car c'est un compteur de boucle, et un flottant car tu le multiplie par un flottant. Résultat : à chaque étape dans la boucle, il y a une conversion entier -> flottant (qui est lente).
Urbinou a écrit:Ta boucle a 100 millions fait quelque chose ? Parce que certains compilateurs sauteront cette boucle si elle ne fait rien, ou pour optimiser, feront certaines à l’envers si ça ne porte pas à conséquence.
drfloyd a écrit:dans les boucles je balance un mini calcul à chaque fois, et quelque soit ce calcul, les vieux basic pourris comme Blitz le font 10x, 20x plus vite que Pure...
Si tu n'affiches pas le résultat du calcul à la fin, le compilateur peut décider que ce calcul est inutile et ne pas le compiler. Rajoute un print i, en Pure et en Blitz.
Dernière édition par Tryphon le Sam 12 Oct 2019 - 9:27, édité 1 fois
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
Basiclove, que veux tu que ca change... Blitz va aussi aller plus vite.... je je fait quand meme :
PURE BASIC : environ 1,5 secondes
BLITZ : quasi instantané !
Que le code soit propre ou sale, le vieux Blitz défonce Pure (et tous les autres basic qui j'utilise aussi)
je suis sous le choc
PURE BASIC : environ 1,5 secondes
BLITZ : quasi instantané !
Que le code soit propre ou sale, le vieux Blitz défonce Pure (et tous les autres basic qui j'utilise aussi)
je suis sous le choc
Dernière édition par drfloyd le Sam 12 Oct 2019 - 9:27, édité 1 fois
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Tu fais exprès d'ignorer mes posts ?
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
Tryphon a écrit:Tu fais exprès d'ignorer mes posts ?
non pas du tout, je répondais à basiclove....
Je ferai d'autres tests avec PRINT, là j'ai une course à faire
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
Rajoute le après la boucle hein, sinon t'en verras jamais la fin, que ce soit en Pure ou en Blitz
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
ce qui a été dit plus haut a propos du melange Flottant entier
est tres juste !!
j'ai utilisé ton test sous cette forme :
- Code:
Depart_temp=ElapsedMilliseconds()
; ************* test ************************
for i=1 to 10000000
a.f=a.f *3.14/123
next i
; ******************************************
temp_passe=ElapsedMilliseconds()-Depart_temp
MessageRequester ("info", "La routine a mis "+strf(temp_passe/1000,2)+" milliseconds pour s'executer")
l'utilisation de ElapsedMilliseconds est une mesure exacte , "pas une impression"
voici ce que j'obtiens AVEC LE DEBBUGER ON (ce qui est plus lent )
et voici ce que j'obtiens sans le debugger actif
voila voila :)
maintenant, il n'est pas exclu que la version de demo soit plus lente
franchement, j'en sais rien :)
ps: lorsque tu parles de mon test a propos de la boucle avec affectation d'une variable Chaine
j'aimerai bien que tu donnes le listing que tu utilises en Blitz ....
parceque comme d'habitude, je ne peut juger QUE d'apres un listing ....
par exemple, par l'utilisation de pointeur, on peut allez plus vite ...
je veux dire que mon exemple, est un exemple de base, pas prévu pour battre un records ...
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PURE BASIC - Le Topic officiel
en meme temps
j'aimerai bien que tu m'affiches le resultat finale de ton calcul intelligent :lol:
a la fin ,combiens donne la variable a.f
en Purebasic, si tu modifie la variable de la boucle, ça change le fonctionnement de celle-ci (bon....., faut le savoir )
exemple ceci
for i=1 to 10
i=i+2
debug i
next i
la variable i sera egale a "3 6 9 12" et pas "1 2 3 4 5 ...."
parceque le I de i=i+2 ben c'est le I du For-Next
ça evite l'emploi de "Step"
j'aimerai bien que tu m'affiches le resultat finale de ton calcul intelligent :lol:
a la fin ,combiens donne la variable a.f
en Purebasic, si tu modifie la variable de la boucle, ça change le fonctionnement de celle-ci (bon....., faut le savoir )
exemple ceci
for i=1 to 10
i=i+2
debug i
next i
la variable i sera egale a "3 6 9 12" et pas "1 2 3 4 5 ...."
parceque le I de i=i+2 ben c'est le I du For-Next
ça evite l'emploi de "Step"
Dernière édition par Dobro le Sam 12 Oct 2019 - 10:45, édité 4 fois
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PURE BASIC - Le Topic officiel
0 normalement...
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
oui !!
et donc , si on veux asservir notre calcul a la boucle
il suffirai de faire ceci par exemple
là ça renvoi le resultat d'un calcul "intelligent" valide :)
ps: le resultat du chrono est quasi identique (0.12 millisecondes chez moi )
ça me renvoi la valeur "10261972,274134329"
tu notera l'emploi du typage *.d (flottant double precision 64 bits...si compilé en 64bits)
Blitz est un tres bon langage de toute façons ..
et donc , si on veux asservir notre calcul a la boucle
il suffirai de faire ceci par exemple
- Code:
Depart_temp=ElapsedMilliseconds()
; ************* test ************************
x.d = 1
For i = 1 To 10000000
x.d = x.d * 3.14/123 +i
Next i
; ******************************************
temp_passe=ElapsedMilliseconds()-Depart_temp
debug x.d
MessageRequester ("info", "La routine a mis "+strf(temp_passe/1000,2)+" milliseconds pour s'executer")
là ça renvoi le resultat d'un calcul "intelligent" valide :)
ps: le resultat du chrono est quasi identique (0.12 millisecondes chez moi )
ça me renvoi la valeur "10261972,274134329"
tu notera l'emploi du typage *.d (flottant double precision 64 bits...si compilé en 64bits)
Blitz est un tres bon langage de toute façons ..
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PURE BASIC - Le Topic officiel
a propos des fontes sur Windows .....
depuis la derniere Mise a jour windows 10 (09/10/2019)
j'ai des application qui ont des fontes floues... et d'autres pas du tout
j'ai trouvé comment on pouvais corriger les problemes lié au flou des fontes
mais aussi cela peut corriger le probleme de zoom comme celui que rencontre le Docteur ....
voici ce qu'il faut faire sur un programme qui semble deconner (fonte flou ou et fontes zoomé )
vous cliquer sur votre programme pour acceder aux parametres de celui ci par le menu contextuel
vous allez dans Proprieté puis "compatibilité"
puis "modifier les parametres PPP elevés"
cocher la premiere case en spécifiant "j'ouvre ce programme" (ça va activer la correction a chaque lancement du programme )
cocher la deuxieme petite case en bas en spécifiant "application"
chez moi ça me remet les fontes Net !! :)
depuis la derniere Mise a jour windows 10 (09/10/2019)
j'ai des application qui ont des fontes floues... et d'autres pas du tout
j'ai trouvé comment on pouvais corriger les problemes lié au flou des fontes
mais aussi cela peut corriger le probleme de zoom comme celui que rencontre le Docteur ....
voici ce qu'il faut faire sur un programme qui semble deconner (fonte flou ou et fontes zoomé )
vous cliquer sur votre programme pour acceder aux parametres de celui ci par le menu contextuel
vous allez dans Proprieté puis "compatibilité"
puis "modifier les parametres PPP elevés"
cocher la premiere case en spécifiant "j'ouvre ce programme" (ça va activer la correction a chaque lancement du programme )
cocher la deuxieme petite case en bas en spécifiant "application"
chez moi ça me remet les fontes Net !! :)
Dobro- Patient contaminé
- Nombre de messages : 293
Age : 59
Localisation : 43
Date d'inscription : 30/09/2019
Re: PURE BASIC - Le Topic officiel
Bon à savoir, moi aussi j'ai des fontes floues sous win10
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: PURE BASIC - Le Topic officiel
Prof Dobro, j'ai adapté ton test en Blitz :
resultat : 182 millisecondes... contre 2 millisecondes en Pure !!!! 90x plus rapide en Pure ?????
- Code:
Depart_temp=MilliSecs()
; ************* test ************************
x# = 1
For i = 1 To 10000000
x = x * 3.14/123 +i
Next
; ******************************************
temp_passe=MilliSecs()-Depart_temp
Print temp_passe
resultat : 182 millisecondes... contre 2 millisecondes en Pure !!!! 90x plus rapide en Pure ?????
Dernière édition par drfloyd le Sam 12 Oct 2019 - 14:32, édité 1 fois
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
par contre test précedent :
250 millisecondes en Blitz contre 8 secondes en Pure (4 sec chez toi) 32x plus rapide en Blitz, pourquoi ?
- Code:
Depart_temp=MilliSecs()
; ************* test ************************
For i= 1 To 30000
a$=a$+Str(Rand(1,100))+" " ; on tire un chiffre aleatoire tiré de la liste Seed 1
Next
; ******************************************
temp_passe=MilliSecs()-Depart_temp
Print temp_passe
250 millisecondes en Blitz contre 8 secondes en Pure (4 sec chez toi) 32x plus rapide en Blitz, pourquoi ?
_______________________________________________________
Re: PURE BASIC - Le Topic officiel
T'as rajouté le print a$ à la fin ?
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Page 7 sur 12 • 1, 2, 3 ... 6, 7, 8 ... 10, 11, 12
Sujets similaires
» [BASIC QB64] le topic officiel du meilleur basic au monde ?
» [BLITZ BASIC] le topic officiel du meilleur basic au monde ?
» * MSX * TOPIC OFFICIEL II
» GOG le topic officiel
» *** PUREBASIC *** LE TOPIC OFFICIEL
» [BLITZ BASIC] le topic officiel du meilleur basic au monde ?
» * MSX * TOPIC OFFICIEL II
» GOG le topic officiel
» *** PUREBASIC *** LE TOPIC OFFICIEL
Page 7 sur 12
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum