2 votes

Désactiver DirectDraw, mais conserver Direct3D ?

J'ai une machine Windows XP SP3, avec des correctifs à jour. Elle est équipée de DirectX 9.0c, version 4.09.00.0904.

Puis-je désactiver DirectDraw tout en conservant Direct3D ?

J'ai lu les articles de Wikipédia sur DirectDraw y Direct3D mais je ne sais pas si je les ai bien compris :

En d'autres termes, il contient de nombreuses commandes pour le rendu 3D ; cependant, depuis la version 8, Direct3D a remplacé l'ancien cadre DirectDraw et a également pris en charge le rendu des graphiques 2D.

Cela signifie-t-il que DirectDraw fait désormais partie de Direct3D ? Parce que je ne peux pas désactiver DirectDraw sans désactiver Direct3D, mais cela fonctionne dans l'autre sens.

3voto

Ben Collins Points 11318

La page Wikipédia consacrée à DirectDraw (et aux autres composants DirectX) est assez claire sur la situation. Mais je vais résumer et consolider les parties pertinentes (en les paraphrasant bien sûr) :


1:1 Au début, il n'y avait que ténèbres et chaos graphique. 1:2 Un jour, Microsoft a déclaré qu'il fallait un cadre graphique unique et cohérent et a créé DirectDraw. 1:3 Microsoft lui demanda d'aller s'ébattre dans le jardin du matériel et de créer de belles images en 2D. 1:4 DirectDraw l'a fait et c'était également une bonne chose.

2:1 Un jour, le serpent de l'ambition est venu à DirectDraw et lui a parlé de merveilleuses images 3D. 2:2 Le serpent convainquit DirectDraw qu'il pouvait créer des images en 3D en mangeant le fruit de l'arbre de la connaissance, et DirectDraw mangea le fruit et commença à essayer de créer des images en 3D.

3:1 Microsoft, voyant que DirectDraw était seul et travaillait trop dur pour créer des graphiques 3D, a eu pitié de lui et a créé Direct3D en utilisant des parties de DirectDraw. 3:2 DirectDraw et Direct3D ont vécu heureux pendant un certain temps.

4:1 Avec l'aide de leurs voisins, DirectDraw et Direct3D ont donné naissance à DirectX. 4:2 DirectX était un enfant humble, mais plein de potentiel. 4:3 DirectX était aussi un enfant jaloux et s'efforçait de détruire son frère OpenGL qui ne vivait que dans les magnifiques châteaux de Mainframe.

5:1 DirectX 1 a engendré DirectX 2 et DirectX 2a qui, contrairement à DirectX 1 et 2, faisait partie de la ville de Windows. DirectX 2a s'est multiplié pendant quatre et deux générations, créant des cadres qui ont permis à la beauté et aux jeux les plus impressionnants de s'épanouir.

6:1 À l'époque de DirectX 6, fils de DirectX 5, la famille DirectX était devenue négligée et obèse et difficile à gérer.

7:1 Les gens du pays se plaignaient de la consanguinité de DirectX 7. 7:2 Ils n'aimaient pas le chevauchement incestueux des fonctions de DirectDraw et de Direct3D. 7:3 Voyant cette corruption de SES créations, Microsoft décréta qu'il n'y aurait plus qu'un seul framework. 7:4 Pour purifier DirectDraw des péchés d'envie, d'orgueil et de gourmandise, IL envoya un puissant déluge développemental ainsi que du feu et du soufre orientés objet et une colonne de sel cryptographique dans la ville de DirectDraw.

8:1 Pour DirectX 8, HE a laissé DirectDraw derrière lui et a recommencé avec Direct3D, qui a survécu parce qu'il a suivi les instructions et n'a pas regardé en arrière lorsque DirectDraw est officiellement mort. 8:2 Direct3D ne s'est pas plaint de la perte de son bien-aimé DirectDraw, et devant cette loyauté, Microsoft lui a donné un nouveau partenaire, encore meilleur. 8:3 HE a pris les fonctions 2D encore pures de DirectDraw et a créé DirectX Graphics pour que Direct3D puisse être heureux et pleinement fonctionnel.

9:1 DirectX 8, fils de Direct3D et DirectX Graphics (et de leurs voisins) a engendré DirectX 9, qui était un bon enfant. 9:2 DirectX 9 a vécu pendant de très nombreuses années, plus longtemps que n'importe qui d'autre. 9:3 Il a accompli de nombreuses choses merveilleuses et a fait la fierté de ses ancêtres. 9:4 Les villageois de XP, où vivait maintenant DirectX 9, vénéraient toujours Microsoft, mais ils commencèrent aussi à vénérer les idoles des pingouins dorés et à manger des pommes interdites. 9:5 Cela mit Microsoft en colère et il exila le village de XP. 9:6 Il laissa le long DirectX 9 à la barbe grise dans XP et créa la ville de Vista avec le fier nouvel enfant DirectX 10. 9:7 Dans la ville de Vista, de nombreuses personnes durent rénover leur maison pour payer les taxes élevées de DirectX 10.

10:1 Plus tard, DirectX 10 a engendré Direct2D, qui était comme DirectDraw++, et c'était plutôt médiocre. 10:2 C'était un enfant fier et exigeant, qui ne se contentait pas de belles maisons comme XP et qui insistait pour vivre dans le royaume de Windows 7. 10:3 C'était aussi un enfant avide, déclarant avoir besoin de la richesse des cartes vidéo, alors qu'il ne s'agissait en fait que d'un cadre 2D insignifiant. 10:4 Les gens se sont plaints et Microsoft l'a donc mis à la disposition des citoyens de Vista. 10:5 Non contents de cela, les habitants de XP, qui vivaient encore dans de petites huttes, ont envahi et conquis Vista, où ils ont pillé et kidnappé DirectX 10 pour le ramener dans leur maison de XP. 10:6 DirectX 10 a fini par se plier à la volonté du peuple et a appris à vivre et à travailler dans XP, mais jamais de tout son cœur.

11:1 DirectX 10 a engendré DirectX 11, mais cette fois-ci, les gens n'ont pas pu le kidnapper dans leur village d'XP. 11:2 Ils virent que beaucoup de nouveaux chevaliers, soldats, Zergs et autres nobles étrangers exigeaient la présence du roi DirectX 11 ou de la reine DirectX 11. Ils acquiescèrent donc et se contentèrent de ce qu'ils avaient ou payèrent une multitude d'impôts pour que la grandeur de DirectX 10 et 11 puisse leur être rendue.

12:17:12:6:2 Loin, au bout du monde, là où les bêtes marines, les dragons et les lamas sèment la terreur, on a découvert un grand et ancien calendrier du royaume maya, dans lequel la fin du monde était prédite ( pas vraiment mais faisons comme si).

13:0:0:0:0 Voyant l'idolâtrie et la corruption dans le monde, le Dieu de Microsoft envoya quatre grandes éruptions solaires de couleur blanche, rouge, noire et pâle sur le monde et détruisit toute l'électronique. Seuls les astronautes emportés dans l'arche ont survécu, tandis que le reste du monde a sombré dans le chaos et la tourmente pendant sept ans.


Ainsi, à moins que vous n'utilisiez DirectX 7 ou une version inférieure (ce qui n'est pas le cas), vous ne pourrez pas désactiver juste DirectDraw (dans son ensemble) puisqu'il n'existe plus en tant que cadre autonome. Au lieu de cela, vous ne pouvez désactiver que les fonctions DirectDraw de DirectX.

Bien entendu, cela peut ou non avoir un effet sur Direct3D, puisque certaines Les fonctions 3D s'appuient sur les fonctions 2D (ah, les cours de graphisme informatique à l'université, comme c'était intéressant ).

Je ne peux pas me prononcer catégoriquement, mais sur la base d'autres scénarios similaires et de l'histoire de Microsoft, je doute fortement qu'ils l'aient conçu de manière à ce que certaines parties du cadre puissent être activées ou désactivées ; il est pratiquement garanti qu'il s'agit d'une affaire de tout ou rien. En d'autres termes, si vous désactivez DirectDraw, Direct3D disparaît également, car il est construit et repose sur la 2D. Si vous désactivez la 3D, la 2D fonctionne toujours puisque les calculs 3D ne sont pas nécessaires pour effectuer le travail en 2D.

Cela dit, vous ne désactivez en fait ni DirectDraw ni Direct3D. Les boutons auxquels vous faites référence (ci-dessous) ne désactivent pas les cadres, ils désactivent seulement accélération matérielle . Les fonctions existent toujours et sont toujours disponibles pour le logiciel ; elles s'exécutent simplement beaucoup plus lentement parce qu'elles sont exécutées par l'intermédiaire du CPU/RAM au lieu du GPU/VRAM.

Si la désactivation de l'accélération résout le problème, c'est que le logiciel est ancien et qu'il n'est pas compatible avec le matériel et les pilotes les plus récents. Vous devrez peut-être faire un compromis en acceptant l'inconvénient d'activer/désactiver l'accélération avant de lancer le jeu (ou simplement vivre sans accélération).

DXDiag DirectX acceleration

2voto

diegogs Points 624

Étant donné que DirectDraw est désormais implémenté dans Direct3D, cela en ferait un sous-ensemble de Direct3D.

Ainsi, en désactivant l'interface DirectDraw dans votre runtime Direct3D, vos autres capacités de rendu Direct3D ne devraient pas être affectées.

Pour être un peu plus technique, j'imagine qu'en désactivant DirectDraw, toutes les tentatives de récupération d'un fichier IDirectDraw7 échouera. Bien que les tentatives de récupération d'un IDirect3D9 L'instance fonctionnera toujours correctement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X