Även datorer som köpts ”för studier” används ibland för spel. Windows-utvecklarna förstår detta mycket väl och integrerar bibliotek och mekanismer för interaktion med grafikkortet direkt i kärnkoden. DirectX är ett sådant verktyg.
I allmänhet är DirectX en uppsättning gränssnitt för programplanering som används för att koppla program till hårdvara. Till exempel behövs paketet Graphics-algoritm för grafikkort och DirectMusic för ljudkort. Totalt finns det nio uppsättningar gränssnitt för att spela upp och ge ut olika multimedieinnehåll.
DirectX utvecklas tillsammans med operativsystemet Windows. Vart 1-3 år släpps nya versioner av DirectX för att förbättra prestandan hos kringutrustning. Det är därför många nybörjare kanske inte förstår skillnaden mellan en iteration och en annan.
Låt oss förstå skillnaderna mellan Direct 9 och DirectX 11 och andra versioner.
DirectX 9
DirectX 9-gränssnittet introducerades med operativsystemet Windows Server 2003 och ingår som ett grundläggande API för interaktion med grafik- och ljudutrustning.
Den största fördelen med gränssnittet var stöd för shaders. Shaders är speciella underrutiner som används för att definiera geometriska egenskaper hos objekt. De gör det till exempel möjligt för objekt i spel att kasta realistiska skuggor, andra saker kan reflekteras i dem och så vidare. Shaders gör att spel ser vackrare och mer filmiska ut och att virtuella världar ser mer naturliga ut.
Det är ännu oklart varför Microsoft beslutade att införa DX9.0 till serverns operativsystem. Men 2004 släppte man också Windows XP SP2 och detta API ingick i det. Så här fick DX9 sin början.0 bland hemanvändare.
Faktum är att alla spel som släpptes under perioden 2004-2009 fokuserade på att använda DirectX 9. Samma sak gäller för grafikkort. Både stationära och mobila modeller (bärbara datorer) är utformade för att fungera med detta gränssnitt.
Fördelar med
- Stöd för shader;
- Ökad prestanda på mycket gamla datorer.
Nackdelar
- Relativt liten spridning (integreras endast i Windows XP SP2)
- Begränsad prestanda på grund av en dålig hantering av multitrådning.
Förresten!Vart tog DirectX 10 vägen?? Den går ingenstans, den finns där. Den tionde versionen av API:et släpptes 2006 tillsammans med Windows Vista. Men själva miljön var så ”långsam” och ”störig” att både speltillverkare och utvecklare föredrog att snabbt glömma den.
DirectX 11
DirectX 11-gränssnittet introducerades 2009 med Windows 7 och togs genast i bruk av både tillverkare av grafikkort och spelutvecklare. Anledningen till denna popularitet är mycket enkel – multi-threading.
Den elfte generationen gav avancerat stöd för flertrådig databehandling. Videodata delades nu upp på ett antal separata trådar, och varje tråd bearbetades på en separat kärna. Detta gjorde att flerkärniga grafikkort samspelade mycket bättre.
När detta gränssnitt har implementerats tillverkas fler grafikkort med flera kärnor. I de senaste grafikacceleratorerna från NVIDIA kan bearbetningsenheten till exempel bestå av 3-4 000 CUDA-kärnor! På grund av detta ökar hastigheten på den visuella informationsbehandlingen många gånger.
På det hela taget är de viktigaste fördelarna med den elfte versionen av gränssnittet följande
- Stöd för multitrådning på grafikacceleratorer med flera kärnor;
- Ökad effektivitet för single-core och äldre grafikkort;
- Minskad värme i grafisk accelerator.
Dessutom har det här API:et gett stöd för utökade 16:9-skärmar. Det gör operativsystemet, och i synnerhet skrivbordet, mer attraktivt. Ikonerna överlappar inte längre varandra!
DX11 kräver dock mer resurser för att köras. Därför kommer äldre spel i vissa fall att fungera sämre med DX11 än med DX9 – om spelet tillåter dig att välja gränssnitt för interaktion.
Fördelar
- Ökad prestanda vid användning av grafikkort med flera kärnor;
- Ökad effektivitet när du arbetar med gamla och svaga grafikacceleratorer;
- Stöd för nya visuella effekter.
Nackdelar
- Ökad förbrukning av datorresurser som inte är relaterade till grafikundersystemet – till exempel CPU eller RAM-minne;
- Bristande bakåtkompatibilitet – tidigare versioner av ”Windows” har inte stöd för den elfte generationen även efter att ha installerat det distribuerade paketet.
DirectX 12 är efterföljaren till DX11. Det här gränssnittet introducerades med Windows 10 2005 och gav stöd för Shader 5-modellen.1, som ger ännu mer realism åt texturer, skuggor och glöd.
Skillnaderna mellan DirectX 9 och DirectX 11 – och vad du ska välja
Den största skillnaden mellan DX9 och DX11 är alltså stödet för flertrådig beräkning. Men skillnaden slutar inte där.
Parameter
| DirectX 9
| DirectX 11 |
Det primära operativsystemet som stödjer
| Windows XP SP2 | Windows 7 |
Stöd för Shader | Ja | Ja |
Shader-modell | 2.0 | 5.0 |
Optimering för flertrådig databehandling | Svag | Stark |
DX11 ger alltså bättre visuella resultat och bättre prestanda på moderna grafikkort.
Vilken??
Om ett PC-spel låter dig välja ett hårdvaru-API för att kommunicera med hårdvaran (vilket är tillåtet i WoT och vissa andra projekt) finns det flera alternativ att välja mellan:
- Installerat operativsystem. I Windows 7 är DX11 inbyggt, DX9 stöds men måste installeras separat. I Windows XP SP2 är DX9 infödd, men DX11 stöds inte alls;
- VGA-kort installerat. Om din grafikaccelerator är avsedd att fungera med DX11 är DX11 rätt val;
- Önskan om imponerande visuella effekter. Om så är fallet – DX11 är bättre att välja.
Sammantaget är till och med DX11 ett föråldrat gränssnitt i april 2019 – vilket är den tidpunkt då den här artikeln skrevs. Det är bättre att välja DX12, eftersom den stöder den senaste shadermodellen och till och med kan använda ray tracing, en teknik vars hårdvaruimplementering introducerades 2018 och som har gjort spel otroligt realistiska genom reflektioner, glitter och långa skuggor.
Vilka är de viktigaste skillnaderna mellan DirectX 9 och DirectX 11? Hur påverkar dessa skillnader prestanda och grafikupplevelse i spel? Är det värt att uppgradera till DirectX 11 om man redan har DirectX 9?