@++
Le debut de la fin du bug du Point()
Re: Le debut de la fin du bug du Point()
tiens erreur ligne 84 division par zero impossible
@++
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: Le debut de la fin du bug du Point()
Tres bien LSI !
En parlant de frequence, tu dirais que plus on monte, moins ca clignote, c'est ca ?
PS : parfois div by 0 sur cette ligne :
En parlant de frequence, tu dirais que plus on monte, moins ca clignote, c'est ca ?
PS : parfois div by 0 sur cette ligne :
Code : Tout sélectionner
FPS = FPS_Counter * 1000 / (ElapsedMilliseconds() - FPS_ElapsedTime)!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Le debut de la fin du bug du Point()
Moi j'utilise souvent le petit include fourni dans les exemples de PB ; ça fonctionne très bien et au moins c'est l'utilisateur qui choisit. :/
Re: Le debut de la fin du bug du Point()
Salut tous,
Je me pose des questions sur le bug point.
J'ai fait un equivalent du test de SPH en Blitzmax.
L'exe fait 1313 ko
Il est dispo ici : http://landzone.free.fr/bugpointsph.zip
J'ai testé sur xp et seven 32 bits : j'obtiens 8290 (avec le logo de SPH).
Ce serait bien de tester sur divers configs...
Voici le code utilisé en blitzmax :
Je me pose des questions sur le bug point.
J'ai fait un equivalent du test de SPH en Blitzmax.
L'exe fait 1313 ko
Il est dispo ici : http://landzone.free.fr/bugpointsph.zip
J'ai testé sur xp et seven 32 bits : j'obtiens 8290 (avec le logo de SPH).
Ce serait bien de tester sur divers configs...
Voici le code utilisé en blitzmax :
Code : Tout sélectionner
Strict
Global sph_image:TImage=LoadImage("sph.bmp",DYNAMICIMAGE)
Global pix:TPixmap
'
If sph_image=Null
RuntimeError "image=null"
EndIf
'
Global u,i,x,cmb:Int
'
pix=LockImage(sph_image,0,True,False)
For u=0 To 72
For i=0 To 178
x=ReadPixel(pix,i,u)
'
If x<>-16777216
cmb=cmb+1
EndIf
Next
Next
'
UnlockImage(sph_image,0)
If cmb=8290 Then
Confirm(String.fromlong(cmb)+" = OK ")
Else
Confirm(String.fromlong(cmb)+" = ERREUR ")
EndIf
End
Re: Le debut de la fin du bug du Point()
bonjour zaphod
voilà pour ton test sous Windows XP SP2
résolution 1920,1080 chipset intel 82845G
résultat 8290 = OK
cordialement
voilà pour ton test sous Windows XP SP2
résolution 1920,1080 chipset intel 82845G
résultat 8290 = OK
cordialement
-
kelebrindae
- Messages : 579
- Inscription : ven. 11/mai/2007 15:21
Re: Le debut de la fin du bug du Point()
Excellente initiative, Zaphod! Comme ça, on saura si ça vient de PB ou non.
Aucun problème de mon côté, comme en PB => 8290
Remarque: avec ton programme, j'obtiens le même résultat avec ou sans l'antialiasing activé.
Aucun problème de mon côté, comme en PB => 8290
Remarque: avec ton programme, j'obtiens le même résultat avec ou sans l'antialiasing activé.
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
Re: Le debut de la fin du bug du Point()
Oui mais pour un SCR ou pour toute autre raison, l'utilisateur n'est pas amené a choisir. Et la resolution du bureau n'est pas toujours executable en openscreen. La question est : que faire ?djes a écrit :Moi j'utilise souvent le petit include fourni dans les exemples de PB ; ça fonctionne très bien et au moins c'est l'utilisateur qui choisit. :/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Le debut de la fin du bug du Point()
Bonne idee.zaphod a écrit :Salut tous,
Je me pose des questions sur le bug point.
J'ai fait un equivalent du test de SPH en Blitzmax.
L'exe fait 1313 ko
Il est dispo ici : http://landzone.free.fr/bugpointsph.zip
J'ai testé sur xp et seven 32 bits : j'obtiens 8290 (avec le logo de SPH).
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Le debut de la fin du bug du Point()
Heink?SPH a écrit :Et la resolution du bureau n'est pas toujours executable en openscreen. La question est : que faire ?
Re: Le debut de la fin du bug du Point()
kernadec ne peux pas ouvrir un screen de la resolution de son bureaudjes a écrit :Heink?SPH a écrit :Et la resolution du bureau n'est pas toujours executable en openscreen. La question est : que faire ?
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Le debut de la fin du bug du Point()
Ben c'est peut-être par rapport à la profondeur... Il a peut-être juste 16 ou 24 bits, et pas 32. Ou alors il a juste assez de mémoire graphique pour un écran, donc il faut lui fermer son bureau avant...
Re: Le debut de la fin du bug du Point()
Bin, propose lui un code car moi j'ai renoncé et dobro semble confirmer qu'on ne peux pas ouvrir toutes les resolutions supportées par une machine...djes a écrit :Ben c'est peut-être par rapport à la profondeur... Il a peut-être juste 16 ou 24 bits, et pas 32. Ou alors il a juste assez de mémoire graphique pour un écran, donc il faut lui fermer son bureau avant...
kernadec : tu as combien de memoire ?
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Le debut de la fin du bug du Point()
pas du tout !SPH a écrit : dobro semble confirmer qu'on ne peux pas ouvrir toutes les resolutions supportées par une machine...
kernadec : tu as combien de memoire ?
je n'arrete pas de te dire justement qu'en utilisant la librairie Desktop() ç'est obligé de marcher !
c'est ta bidouille a vouloir forcer la résolution a 1024X768 qui ne peut pas marcher
notamment sur les netbooks
par contre , il semble y avoir un problème lié a la fonction point()
qui suivant les cartes graphique ( et leur réglage d'optimisation propre) ne renvoie pas
la couleur auquel on s'attends ... mais perso , ça ne m'a jamais gèné
-
Le Soldat Inconnu
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: Le debut de la fin du bug du Point()
Correction du bug sur le calcul du FPS
Code : Tout sélectionner
;{- Initialisation
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitSprite3D() = 0
MessageRequester("Erreur", "Impossible d'initialiser la souris ,le clavier ou l'écran. Vérifiez la présence de DirectX 9 ou supérieur.", 0)
End
EndIf
;}
;{- Recerche de la dimension de l'écran à ouvrir
Resolution_Choisir = 1 ; Mettre 0 pour tenter de récupérer la résolution du bureau ou 1 pour toujours choisir manuellement la résolution
If ExamineDesktops() ; On récupère la résolution du bureau
Ecran_Largeur = DesktopWidth(0)
Ecran_Hauteur = DesktopHeight(0)
Ecran_Frequence = DesktopFrequency(0)
EndIf
If Ecran_Largeur = 0 Or Resolution_Choisir ; Ou sinon, on propose une résolution
Resolution_Fenetre = OpenWindow(#PB_Any, 0, 0, 300, 24 * 2 + 8, "", #PB_Window_ScreenCentered | #PB_Window_Invisible | #PB_Window_Tool)
If Resolution_Fenetre
Resolution_Liste = ComboBoxGadget(#PB_Any, 4, 4, WindowWidth(Resolution_Fenetre) - 8, 24)
Resolution_Valider = ButtonGadget(#PB_Any, 4, 4 + 24, WindowWidth(Resolution_Fenetre) - 8, 24, "OK")
; Recerche des résolutions possible
If ExamineScreenModes()
While NextScreenMode()
; On filtre les résolutions :
; uniquement 32bits
; largeur supérieure ou égale à 800 pixels
; fréquence supérieure ou égale à 60Hz et multiple de 5 (pour éviter les fréquences bizarre style 72Hz
If ScreenModeDepth() = 32 And ScreenModeWidth() >= 800 And ScreenModeRefreshRate() >= 60 And ScreenModeRefreshRate() %5 = 0
AddGadgetItem(Resolution_Liste, -1, Str(ScreenModeWidth()) + " x " + Str(ScreenModeHeight()) + " / " + Str(ScreenModeRefreshRate()) + "Hz")
If ScreenModeWidth() = Ecran_Largeur And ScreenModeHeight() = Ecran_Hauteur And ScreenModeRefreshRate() = Ecran_Frequence ; Si la résolution correspond à celle du bureau, on la sélectionne par défaut
SetGadgetState(Resolution_Liste, CountGadgetItems(Resolution_Liste) - 1)
EndIf
EndIf
Wend
EndIf
If GetGadgetState(Resolution_Liste) = -1 ; Si pas de résolution sélectionnée, on sélectionne la première
SetGadgetState(Resolution_Liste, 0)
EndIf
; Affichage de la fenêtre
StickyWindow(Resolution_Fenetre, 1)
HideWindow(Resolution_Fenetre, 0)
; Boucle d'évènements
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case Resolution_Valider ; on valide
If GetGadgetText(Resolution_Liste) <> "" ; Si on a une sélection
Ecran_Largeur = Val(StringField(GetGadgetText(Resolution_Liste), 1, " "))
Ecran_Hauteur = Val(StringField(GetGadgetText(Resolution_Liste), 3, " "))
Ecran_Frequence = Val(StringField(GetGadgetText(Resolution_Liste), 5, " "))
Resolution_Valider = 0
EndIf
EndSelect
Case #PB_Event_CloseWindow ; si on ferme la fenêtre, on quitte
End
EndSelect
Until Resolution_Valider = 0
Else
End
EndIf
EndIf
;}
;{- On ouvre l'openscreen
If OpenScreen(Ecran_Largeur, Ecran_Hauteur, 32, "Ecran", #PB_Screen_WaitSynchronization, Ecran_Frequence) = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran.", 0)
End
EndIf
;}
FPS = Ecran_Frequence
Repeat
ClearScreen($000000)
; On lit les évènements clavier et souris
ExamineMouse()
ExamineKeyboard()
; Position de la souris
x = MouseX()
y = MouseY()
If Start3D()
Stop3D()
EndIf
; Calcul du FPS
FPS_Counter + 1
If FPS_Counter >= FPS
FPS = FPS_Counter * 1000 /(ElapsedMilliseconds() - FPS_ElapsedTime)
FPS_Counter = 0
FPS_ElapsedTime = ElapsedMilliseconds()
EndIf
; Affichage du FPS
StartDrawing(ScreenOutput())
DrawText(0, 0, "FPS : " + StrD(FPS, 1) + " ; " + StrD(100 * FPS / Ecran_Frequence, 1) + "%")
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
-
Le Soldat Inconnu
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: Le debut de la fin du bug du Point()
Kernadec et Dobro
avec ce code, vous obtenez quoi comme résolution possible ?
La résolution de votre bureau est dedans ? (surtout pour Kernadec)

avec ce code, vous obtenez quoi comme résolution possible ?
Code : Tout sélectionner
If InitSprite()
If ExamineScreenModes()
While NextScreenMode()
If ScreenModeDepth() = 32
Debug Str(ScreenModeWidth()) + " x " + Str(ScreenModeHeight()) + " " + Str(ScreenModeRefreshRate()) + "Hz"
EndIf
Wend
EndIf
EndIfJe ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]