Question débile entre directx7 et directx9
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07
Question débile entre directx7 et directx9
Bonjour bonjour la compagnie,
bon malgré mes déboires avec la compilation en directx 9 j'ai juste une question, concernant les performances, parce que vous comprenez moi yen a un peu con con sur les bords, j'arrive à pondre des codes mais encore faut il comprendre certaines choses.
Vu que directx 9 ca gazouille à fond en dual screen, je m'amuse à faire des tests. j'ai pris un code que j'avais fait qui marche très bien mais qui utilise un grand nombre de sprites (et pas des sprites3D).
Je me suis amusé à le faire compiler en directx9 (en prenant le soin de désactiver mon second écran lol) et puis ensuite essayer de le compiler en subsystem directx7.
Et là je remarque un truc qui est carrément flagrant : en Directx 7 un grand nombre de sprites mais exécution très rapide, très fluide.
Par contre en Directx9 mon dieu que ca rame, avec le même code.
Il y a t'il une raison à cela ? au besoin je pourrais vous poster le code bien entendu mais je pense que la différence vient surtout du fait que dx9 ne doit pas y (à l'auvergnate) gérer de la même manière.
Merci pour vos précisions.
bon malgré mes déboires avec la compilation en directx 9 j'ai juste une question, concernant les performances, parce que vous comprenez moi yen a un peu con con sur les bords, j'arrive à pondre des codes mais encore faut il comprendre certaines choses.
Vu que directx 9 ca gazouille à fond en dual screen, je m'amuse à faire des tests. j'ai pris un code que j'avais fait qui marche très bien mais qui utilise un grand nombre de sprites (et pas des sprites3D).
Je me suis amusé à le faire compiler en directx9 (en prenant le soin de désactiver mon second écran lol) et puis ensuite essayer de le compiler en subsystem directx7.
Et là je remarque un truc qui est carrément flagrant : en Directx 7 un grand nombre de sprites mais exécution très rapide, très fluide.
Par contre en Directx9 mon dieu que ca rame, avec le même code.
Il y a t'il une raison à cela ? au besoin je pourrais vous poster le code bien entendu mais je pense que la différence vient surtout du fait que dx9 ne doit pas y (à l'auvergnate) gérer de la même manière.
Merci pour vos précisions.
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: Question débile entre directx7 et directx9
DX9 ou DX7, je ne vois aucune différence en sprite3D
mais niveau sprite classique, le DX7 semble plus rapide
mais niveau sprite classique, le DX7 semble plus rapide

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)]
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07
Re: Question débile entre directx7 et directx9
Voilà c'est que je dis, et je voulais savoir pourquoi. Pourquoi les sprites tout court ca rame rapidos avec dx9.Le Soldat Inconnu a écrit :DX9 ou DX7, je ne vois aucune différence en sprite3D
mais niveau sprite classique, le DX7 semble plus rapide
Re: Question débile entre directx7 et directx9
un exemple ?
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07
Re: Question débile entre directx7 et directx9
Par exemple ce code qui permet de faire exploser une image en morceaux, je l'avais appelé explosion mosaique. Voici l'image que j'utilise, le code est juste après :

Compilez le en DirectX 7 c'est niquel rapide et fluide, faites le en directx 9 l'affichage de l'explosion sera beaucoup plus lent.

Code : Tout sélectionner
;Effet mosaic + explosion
;Initialisation des composants
InitSprite()
InitKeyboard()
InitMouse()
UseJPEGImageDecoder()
;Constantes
#Pingouin = 0
;Variables Globales
Global Mosaic
;Création de la fenêtre principale
MaFenetre = OpenScreen(800,600,32,"Mosaic",#PB_Screen_WaitSynchronization,60)
If MaFenetre = 0
MessageRequester("Erreur", "Impossible d'ouvrir une fenêtre DirectX", #PB_MessageRequester_Ok)
EndIf
;Chargement des images
LoadSprite(#Pingouin,"pingouin.jpg")
;Creation de la structure
Structure Morceau
x.f
y.f
sourcex.f
sourcey.f
Explox.f
Exploy.f
EndStructure
Global NewList Ping.Morceau()
;Procedures du programme
Procedure Mosaic()
For posx = 0 To 400 Step 8
For posy = 0 To 300 Step 8
AddElement(Ping())
Ping()\x = posx + 200
Ping()\y = posy + 150
Ping()\sourcex = sourcex
Ping()\sourcey = sourcey
Ping()\Explox = Random(30) - 15
Ping()\Exploy = Random(30) - 15
sourcey = sourcey + 8
Next
sourcex = sourcex + 8
sourcey = 0
Next
EndProcedure
Procedure AfficheExplo()
ResetList(Ping())
While NextElement(Ping())
Ping()\x = Ping()\x + Ping()\Explox
Ping()\y = Ping()\y + Ping()\Exploy
ClipSprite(0,Ping()\sourcex,Ping()\sourcey,8,8)
DisplaySprite(0,Ping()\x,Ping()\y)
If Ping()\x > 800 Or Ping()\x < 0 Or Ping()\y > 600 Or Ping()\y < 0
DeleteElement(Ping())
EndIf
Wend
EndProcedure
Procedure AfficheMos()
ResetList(Ping())
While NextElement(Ping())
ClipSprite(0,Ping()\sourcex,Ping()\sourcey,8,8)
DisplaySprite(0,Ping()\x,Ping()\y)
Wend
EndProcedure
Procedure AfficheCrack()
ResetList(Ping())
While NextElement(Ping())
a = Random(4) - 2
b = Random(4) - 2
Ping()\x = Ping()\x + a
Ping()\y = Ping()\y + b
ClipSprite(0,Ping()\sourcex,Ping()\sourcey,8,8)
DisplaySprite(0,Ping()\x,Ping()\y)
Wend
EndProcedure
Mosaic()
AfficheMos()
FlipBuffers()
Delay(2500)
AfficheCrack()
StartDrawing(ScreenOutput())
BackColor(RGB(0,0,0))
FrontColor(RGB(255,255,255))
DrawText(300,500,"Attention ca va péter !")
StopDrawing()
FlipBuffers()
Delay(2000)
Repeat
ClearScreen(RGB(0,0,0))
AfficheExplo()
ExamineKeyboard()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Re: Question débile entre directx7 et directx9
autre question bête
comment fait ont pour choisir entre le DX 9 ou DX7 ???
@++

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: Question débile entre directx7 et directx9
Dans les options de compilation, il y a une case "subsystem", dedans, il faut choisir DX7 

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)]
Re: Question débile entre directx7 et directx9



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: Question débile entre directx7 et directx9
La ou tu coches "Support des thèmes XP", "unicode", "Mode user sous vista", etc ...
il y a un truc "sous-système", il faut choisir directX 7
il y a un truc "sous-système", il faut choisir directX 7
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)]
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07
Re: Question débile entre directx7 et directx9
Alors vous avez testé avec mon exemple ? 

Re: Question débile entre directx7 et directx9
Ah d'accord c'est un stringgadget dans lequel tu ecrit "directX 7"
Moi je chercher un comboboxgadget
Et bien truck de fou, si je laisse vide ou si je met "directX 7" niquel, par contre si je met "directX 9" ou "directX 11" message d'erreur : "Le sous système est introuvable"
Donc Crystal Noir pour le moment ton code fonctionne bien en "directX 7"
@++

Moi je chercher un comboboxgadget


Et bien truck de fou, si je laisse vide ou si je met "directX 7" niquel, par contre si je met "directX 9" ou "directX 11" message d'erreur : "Le sous système est introuvable"

Donc Crystal Noir pour le moment ton code fonctionne bien en "directX 7"

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07
Re: Question débile entre directx7 et directx9
Il fonctionne bien aussi en Directx 9 chez moi...par contre ca rame grave et en directx7 c'est fluide.
Juste au cas où, dans les options du compilateur, si t'as mis "DirectX9" t'auras ce message d'erreur, car par défaut pb le compile en dx9 sans option.
Juste au cas où, dans les options du compilateur, si t'as mis "DirectX9" t'auras ce message d'erreur, car par défaut pb le compile en dx9 sans option.
Re: Question débile entre directx7 et directx9
Pour moi c'est plutot directX 9 (Donc rien d'inscrit dans la case qui fonctionne le mieux)
sous une photo de 1280x1024 car je n'y voyais aucune différence avec ton image d'origine
et bien sur :
MaFenetre = OpenScreen(1280,1024,32,"Mosaic",#PB_Screen_WaitSynchronization,60)
For posx = 0 To 1280 Step 8
For posy = 0 To 1024 Step 8
puis
If Ping()\x > 1280 Or Ping()\x < 0 Or Ping()\y > 1024 Or Ping()\y < 0
que j'ai changer pour l'avoir en pleinne page
sous une photo de 1280x1024 car je n'y voyais aucune différence avec ton image d'origine
et bien sur :
MaFenetre = OpenScreen(1280,1024,32,"Mosaic",#PB_Screen_WaitSynchronization,60)
For posx = 0 To 1280 Step 8
For posy = 0 To 1024 Step 8
puis
If Ping()\x > 1280 Or Ping()\x < 0 Or Ping()\y > 1024 Or Ping()\y < 0
que j'ai changer pour l'avoir en pleinne page
Re: Question débile entre directx7 et directx9
Moi c'est pareille l'explosion est plus fluide sous DX9 que DX7 surtout au début de l'explosion sous DX7 je voie un léger blocage au départ de l'explosion, que sous DX9 fluide du début a la fin.
il y a pas moyen d'ajouté les FPS pour voir il il n'y a pas de chute entre le DX7 et la DX9 ? Âpres ça n'a peut être rien a voir
@++
il y a pas moyen d'ajouté les FPS pour voir il il n'y a pas de chute entre le DX7 et la DX9 ? Âpres ça n'a peut être rien a voir

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07
Re: Question débile entre directx7 et directx9
venom a écrit :Moi c'est pareille l'explosion est plus fluide sous DX9 que DX7 surtout au début de l'explosion sous DX7 je voie un léger blocage au départ de l'explosion, que sous DX9 fluide du début a la fin.
il y a pas moyen d'ajouté les FPS pour voir il il n'y a pas de chute entre le DX7 et la DX9 ? Âpres ça n'a peut être rien a voir![]()
Moi c'est l'inverse tout comme LSI c'est plus rapide avec DirectX 7.