Waarom installeert elke pc-game zijn eigen exemplaar van DirectX?
DirectX is onderdeel van het Windows-besturingssysteem. Dus waarom lijkt het erop dat elk pc-spel dat je installeert vanuit Steam, Origin of elders een eigen exemplaar van DirectX installeert?
Wat is DirectX?
DirectX is onderdeel van Microsoft Windows. Het is een groep API's (application programming interfaces) die ontwikkelaars kunnen gebruiken voor 3D-graphics, video, multimedia, geluid en gamepad-functies op Windows. Veel games op Windows gebruiken DirectX's Direct3D voor afbeeldingen. Als dat niet het geval is, gebruiken ze in plaats daarvan de platformonafhankelijke OpenGL- of Vulkan-API's. Andere niet-game-applicaties kunnen DirectX gebruiken voor functies zoals 3D-graphics.
Windows 7 bevat DirectX 11 en Windows 10 bevat DirectX 12. Wanneer ontwikkelaars games ontwikkelen, kiezen ze de DirectX-versies die ze willen targeten. Een game die alleen voor DirectX 11 is geschreven, zou bijvoorbeeld niet op Windows XP kunnen worden uitgevoerd, waarbij de meest recente versie DirectX 9 is.
U kunt de versie van DirectX bekijken die beschikbaar is op uw systeem door op de knop Start te klikken, 'dxdiag' in het zoekvak te typen en op Enter te drukken. Wanneer het venster Diagnostisch hulpprogramma van DirectX verschijnt, ziet u het versienummer rechts van "DirectX-versie" onder "Systeeminformatie".
Als het onderdeel is van Windows, Waarom installeren games het??
Dus als DirectX deel uitmaakt van Windows, waarom installeren games het dan in de eerste plaats? Het korte antwoord is dat DirectX-installatie een puinhoop is.
Er zijn niet slechts één DirectX Direct3D bibliotheekgames afhankelijk van, of zelfs maar een handjevol. Game-ontwikkelaars moeten een exacte versie van de Direct3D-helperbibliotheek targeten. Een recentere versie van de bibliotheek kan niet worden gebruikt. Als een game-ontwikkelaar bijvoorbeeld zijn game op d3ddx10_40.dll heeft gericht, kan het spel d3ddx10_41.dll niet gebruiken. Het heeft versie 40 nodig, en alleen dat bestand zal het doen.
U vindt deze bestanden in de map C: \ Windows \ System32 op uw systeem. Op een 64-bits systeem bevinden de 64-bits bibliotheken zich in C: \ Windows \ System32 en bevinden de 32-bits bibliotheken zich in C: \ Windows \ SysWOW64.
Zelfs als u het nieuwste DirectX-installatieprogramma hebt uitgevoerd, is er geen garantie dat het alle oude secundaire versies van de DirectX-bibliotheken op uw systeem zal installeren. Microsoft heeft er ook voor gekozen om deze Direct3D-bibliotheekbestanden niet samen met Windows zelf te bundelen. Zelfs Direct3D-bibliotheken die zijn gemaakt voordat Windows 10 werd uitgebracht, zijn bijvoorbeeld niet allemaal opgenomen in Windows 10. Ze moeten worden geïnstalleerd door een toepassing die ze nodig heeft. Zoals Microsoft opmerkt in documentatie die is bedoeld voor game-ontwikkelaars, "Windows Update en Service Packs bevatten geen optionele componenten van DirectX".
Het wordt zelfs ingewikkelder dan dat. 32-bits games hebben de 32-bits versies van het bibliotheekbestand nodig en 64-bits games hebben de 64-bits-bibliotheek nodig.
Dit is vergelijkbaar met de situatie met de Microsoft Visual C ++ Redistributable Libraries. Verschillende toepassingen zijn afhankelijk van verschillende versies van de bibliotheken en u moet veel verschillende versies geïnstalleerd hebben. Er is een goede kans dat er veel op uw systeem zijn geïnstalleerd.
Maar waarom moet elke pc-game het opnieuw installeren??
Oké, dus elke game moet de exacte secundaire versie van de DirectX-bibliotheken installeren die het vereist. Maar als je die specifieke versie van een DirectX-bibliotheek al een keer hebt geïnstalleerd, hoeft de game het DirectX-installatieprogramma toch niet rechtstreeks uit te voeren?
Fout. Er is geen manier voor games om eenvoudig te controleren of de juiste DirectX-bibliotheken die ze nodig hebben, zijn geïnstalleerd. Zoals de supportsite van Steam opmerkt, is het DirectX-installatieprogramma van Microsoft de enige officieel ondersteunde manier om te controleren of de juiste DirectX-bestanden momenteel zijn geïnstalleerd. Games voeren het DirectX-installatieprogramma uit, vaak op de achtergrond, dat eventuele vereiste bibliotheken installeert en eventuele problemen op het systeem herstelt.
Het DirectX-installatieprogramma is ook de enige manier waarop Microsoft ontwikkelaars toestaat deze bestanden te distribueren. Ontwikkelaars kunnen niet proberen slim te zijn door de DirectX-bibliotheken rechtstreeks op uw systeem te plaatsen en het installatieprogramma over te slaan, anders zouden ze de softwarelicentie van Microsoft verslaan. Ze komen waarschijnlijk ook verschillende bugs tegen, zelfs als ze dit geprobeerd hebben. Dat is waarom niemand dat doet.
Natuurlijk moeten niet alle games het DirectX-installatieprogramma uitvoeren als u ze voor de eerste keer start. Games die OpenGL of Vulkan gebruiken in plaats van DirectX's Direct3D hoeven het niet uit te voeren. Sommige games zijn ook alleen afhankelijk van belangrijke versies van DirectX zoals DirectX 11, 10 of 9 en hoeven niet het DirectX-installatieprogramma te gebruiken omdat ze geen van deze helperbibliotheken gebruiken.
Kan ik sommige van deze bibliotheken verwijderen?
U dient geen van de DirectX-bibliotheken in uw System32-map of SysWOW64-map te verwijderen. Als ze aanwezig zijn op uw systeem, komt dit omdat een game of andere applicatie die u hebt geïnstalleerd deze nodig had. Als u begint met het verwijderen van bibliotheekbestanden, zouden applicaties kunnen breken. Er is geen manier om echt te vertellen welke DirectX-bibliotheekbestanden nodig zijn voor welke games op uw systeem, dus er is geen manier om te weten welke veilig te verwijderen zijn.
Laat ze alleen! Er is een reden waarom er geen officieel ondersteunde manier is om deze bibliotheekbestanden te verwijderen. Ze veroorzaken geen problemen op uw systeem en zullen alleen worden gebruikt door applicaties waarvoor ze nodig zijn.
Als je echt wanhopig bent om deze oude bibliotheken op te ruimen, kun je Windows het beste opnieuw installeren om een nieuw systeem te krijgen in plaats van willekeurig bibliotheekbestanden te verwijderen. Maar ze zullen hier in elk geval opnieuw verschijnen nadat je games hebt geïnstalleerd. Maak je geen zorgen.
Wat kan ik doen als ik DirectX-problemen heb?
Als je een DirectX-gerelateerd foutbericht ziet terwijl je een game probeert uit te voeren of te installeren, is het mogelijk dat het installatieprogramma van het spel niet het meegeleverde DirectX-herdistribueerbaar installatieprogramma correct uitvoert. U kunt echter niet alleen een DirectX-installatieprogramma van de website van Microsoft downloaden, u moet ook het installatieprogramma uitvoeren dat de game zelf vereist.
Mogelijk kunt u de gamemap op uw systeem of op de installatieschijf van de game invoeren, het DIrectX-installatiebestand .exe vinden en uitvoeren om het probleem op te lossen. Dit bestand wordt meestal DXSETUP.exe genoemd.
U kunt meestal meer informatie krijgen over hoe u het probleem kunt oplossen door een zoekopdracht op internet uit te voeren naar de naam van de game of applicatie en het specifieke DirectX-foutbericht dat u ziet.