ScreenDepth

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
auraes
Messages : 3
Inscription : jeu. 07/mars/2013 8:50

ScreenDepth

Message par auraes »

Bonjour,
Il m'est impossible de créer ou de charger des sprites si le paramètre ScreenDepth est de 16 bits !

Code : Tout sélectionner

#ScreenWidth  = 800
#ScreenHeight = 600

ExamineDesktops()
ScreenDepth = DesktopDepth(0)
Debug ScreenDepth

Debug InitSprite()
Debug OpenScreen(#ScreenWidth,#ScreenHeight,ScreenDepth,"Test")
Debug CreateSprite(0,10,10)
; result > 0 si #ScreenDepth = 32
; result = 0 si #ScreenDepth = 16

End

; PureBasic 5.11 Beta 1
; Eeepc 1001HA 2Go i945GME
; Win xp sp3
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: ScreenDepth

Message par comtois »

ton code fonctionne bien sur mon portable, avec ScreenDepth=32 ou 16
tu as vérifié si ta carte supportait ce mode ?

Code : Tout sélectionner

InitSprite()

  If ExamineScreenModes()
    While NextScreenMode()
      Debug Str(ScreenModeWidth())+"x"+Str(ScreenModeHeight())+"x"+Str(ScreenModeDepth())+"@"+Str(ScreenModeRefreshRate())+"Hz"
    Wend
  EndIf
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.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: ScreenDepth

Message par falsam »

Bonjour auraes et bienvenue. Ton pc est équipé d'un chipset graphic Intel 945GME qui en principe affiche bien la résolution 800*600*16. Je pense que tu devrais mettre à jour ton driver vidéo.
http://www.intel.com/p/fr_FR/support/hi ... hics/945gm

Il me semble que Drobro possède un Portable équipé d'un chipset graphique identique. Il pourra peut être t'aider.

MetalOs a éxécuté un test de résolution d'écran sous Linux sur un Samsung équipé du meme chipset que ton portable.
http://forums.purebasic.fr/french/viewt ... 21#p109821
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
auraes
Messages : 3
Inscription : jeu. 07/mars/2013 8:50

Re: ScreenDepth

Message par auraes »

Merci pour les réponses.
Cela ne fonctionne toujours pas sous XP mais par contre cela fonctionne sous Lubuntu sur la même machine. Par contre sous Lubuntu : DesktopDepth(0) me renvoie 24 bits et non 32 bits comme sous XP !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: ScreenDepth

Message par falsam »

auraes a écrit :Cela ne fonctionne toujours pas sous XP mais par contre cela fonctionne sous Lubuntu sur la même machine.
Ce qui laisse supposer un souci de pilote graphique.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: ScreenDepth

Message par Backup »

falsam a écrit :Il me semble que Drobro possède un Portable équipé d'un chipset graphique identique. Il pourra peut être t'aider.

je ne connais pas ce " Drobro"

mais moi, j'essaierai ça ce soir ;)
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: ScreenDepth

Message par falsam »

:oops:
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
auraes
Messages : 3
Inscription : jeu. 07/mars/2013 8:50

Re: ScreenDepth

Message par auraes »

En fait, peu importe que mon Desktop sous WinXP soit en couleurs 16 ou 32 bit, si la valeur Depth de OpenScreen() est à 32 cela fonctionne et si elle est à 16 j'obtiens 0 en paramètre de retour (et si Depth est à 24 cela plante... normal... Bien que DesktopDepth(0) sous Linux me renvoie la valeur 24 !)
Desktop (32 ou 16) & Depth 32 : result > 0
Desktop (32 ou 16) & Depth 16 : result = 0

Code : Tout sélectionner

#ScreenWidth  = 800
#ScreenHeight = 600
Depth = 16 ; ou 32
Debug InitSprite()
Debug OpenScreen(#ScreenWidth,#ScreenHeight,Depth,"Test")
Debug CreateSprite(0,10,10)
Les valeures de #ScreenWidth et de #ScreenHeight ne semblent pas impliquées.
(J'ai pourtant réinstallé et mis à jour mon driver graphique.)
Bof, pas grave !
Répondre