Bug...non....Bizarrerie plutôt...

Archive.
Avatar de l’utilisateur
Polux
Messages : 440
Inscription : mer. 21/janv./2004 11:17
Localisation : france
Contact :

Bug...non....Bizarrerie plutôt...

Message par Polux »

Pfiouu, je commence à en avoir ras la casquette de ces setrefreshrate et setframerate qui deconnent chez plusieurs personnes différentes...
Je voudrais comprendre... Fred, ce bout de code:

SetRefreshRate(60)
If OpenScreen(800,600,32,"") ; L'écran va essayer de s'ouvrir en 60hz.
Goto play
Else
SetFrameRate(60)
SetRefreshRate(0)
OpenScreen(800,600,32,"")
EndIf

play:

normalement il teste si l'ecran peut s'ouvrir en 60hz, sinon l'ouverture échoue et on l'ouvre autrement avec le setframerate à 60... et ben non, ça marche pas... l'ecran, même s'il ne peut pas s'ouvrir à 60, ben il s'ouvre quand même à 100 ou 85 par exemple.. donc la seconde partie ne sers à rien...
Résultat, ça fonce chez les uns, c'est normal chez les autres ( ceux dont le refreshrate est à 60hz dans les drivers en fait... )
Ou alors faut utiliser des timers et je trouve ça caca! On devrait pouvoir soit forcer l'ecran à 60hz, soit detecter correctement qu'il est au dessus et donc utiliser la méthode setframerate... :roll:
Avatar de l’utilisateur
Polux
Messages : 440
Inscription : mer. 21/janv./2004 11:17
Localisation : france
Contact :

Message par Polux »

Tiens, l'idéal serait d'avoir une commande qui permette de savoir à combien est l'ecran actuellement ouvert au niveau du refresh...
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

sa doit etre faisable vec l'api windows ;)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Code : Tout sélectionner

; Structure DEVMODE
;     dmDeviceName.s
;     dmSpecVersion.w
;     dmDriverVersion.w
;     dmSize.w
;     dmDriverExtra.w
;     dmFields.w
;     dmOrientation.w
;     dmPaperSize.w
;     dmPaperLength.w
;     dmPaperWidth.w
;     dmScale.w
;     dmCopies.w
;     dmDefaultSource.w
;     dmPrintQuality.w
;     dmColor.w
;     dmDuplex.w
;     dmYResolution.w
;     dmTTOption.w
;     dmCollate.w
;     dmFormName.s
;     dmUnusedPadding.w
;     dmBitsPerPel.w
;     dmPelsWidth.l
;     dmPelsHeight.l
;     dmDisplayFlags.l
;     dmDisplayFrequency.l
; EndStructure

EnumDisplaySettings_(0, -1, DevM.DEVMODE)
Debug "Largeur de l'écran : " + Str(DevM\dmPelsWidth) + " pixels"
Debug "hauteur de l'écran : " + Str(DevM\dmPelsHeight) + " pixels"
Debug "Profondeur de couleurs : " + Str(DevM\dmBitsPerPel) + " bits"
Debug "Fréquence : " + Str(DevM\dmDisplayFrequency) + " Hz"
par contre, ça ne marche pas sur touts les OS, notamment sur 98
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)]
Répondre