Directx 12 för- och nackdelar. DX11 och DX12: är det någon skillnad mellan dem? Testbänk, testmetodik

Tekniken tillhör framtiden - så många förbättringar har införlivats i det nya programmeringsgränssnittet. Direct3D 12 (och dess plattformsoberoende motsvarighet Vulkan) gör att spelmotorn kan hantera GPU-resurser mer effektivt genom att direkt hantera uppgifter som i tidigare iterationer av API:t utfördes av drivrutinen eller Direct3D-biblioteken själva. Moderna grafikprocessorer stöder fullt ut Direct3D 12-renderingsmöjligheter och ger sömlös integrering av grafik med generella datoranvändning (kallad asynkron datoranvändning).

Men i praktiken är den nya generationens API:er fortfarande långt ifrån att förverkliga sin fulla potential. Låt oss inte försköna bilden som dök upp i den första delen av att testa grafikkort i Direct3D 12 och Vulkan. Faktum är att bara två av spelen vi regelbundet använder som GPU-riktmärken har visat vad ny programvara kan göra med rätt mängd ansträngning från utvecklarna – vi pratar om Ashes of the Singularity och DOOM. I andra tester, när man byter API, kan man i bästa fall räkna med en måttlig prestandaökning, och då med en hel del reservationer.

Således, bland de senaste generationerna av grafikprocessorer, visade endast stora AMD-chips - Hawaii (Radeon R9 390X), Fiji (Radeon R9 Fury X) och Vega (Radeon RX Vega 64) - större sympati för Direct3D 12. När det gäller prestandan hos flaggskepp NVIDIA grafikkort(GeForce GTX 1080 Ti) mjukvarugränssnittet har i genomsnitt ingen effekt, och andra "gröna" processorer presterar sämre under det än under den gamla. Slutligen utfärdade Microsoft omedvetet ett svart märke till marker med Kepler- och Maxwell-arkitekturen, som uppenbarligen aldrig kommer att få fullt stöd i spelmotorer för Direct3D 12.

Svagheten med den nya generationens API: er är baksidan av deras styrka: de "tunna" Direct3D 12-biblioteken har överfört många funktioner till spelmotorutvecklare, och implementeringen av de nödvändiga programmeringsteknikerna i mainstream-programvaran är sen. Det är inte förvånande, för i speldatorer Det finns fortfarande många grafikkort som i bästa fall endast formellt är kompatibla med Direct3D 12 och Vulkan, så kraftfull optimering av spel för nya API:er kan bara observeras i enskilda projekt baserade på deras egna motorer.

Grafik-API:er och CPU-beroende

Vissa av funktionerna i Direct3D 12 och Vulkan kräver dock inte mycket ansträngning från spelutvecklare. Själva strukturen i pipelinen för dessa API: er gör att du kan minska belastningen på den centrala processorn genom att minska förberedelsetiden för dragsamtal, vilket är särskilt viktigt när det finns många individuella modeller på skärmen [notera: Draw-anrop är ett kommando som kräver att man skapar ett enda polygonalt nät].

Detta problem uppmärksammades först av AMD och DICE, skaparna av det proprietära lågnivå Mantle-gränssnittet. Den första titeln som stödde Mantle var Battlefield 4, men redan 2014 var spelets grafik inte så rik på geometri att processorn skulle begränsa bildhastigheten på ett balanserat system. Till och med ett år senare kom vi till slutsatsen (se vårt test av processorberoende) att vilken modern Intel-processor som helst med fyra kärnor låser upp potentialen hos den tidens topp-GPU:er.

Men under den senaste tiden har situationen förändrats: spel har blivit mer komplexa och GPU:er har fått betydligt ökad datorkraft. CPU:er, tvärtom, utvecklas ganska långsamt när det gäller enkeltrådad prestanda, och den femte, sjätte, sjunde och så vidare kärnan används sällan i spel. Många spelare uppgraderade från en dual-core-processor till en quad-core-processor med förväntningen att inte ändra den på många år, så nu har frågan om processorberoende återigen blivit aktuell.

Det mest slående, om än ganska exotiska exemplet är Ashes of the Singularity-strategin. Dess motor, just på grund av den snabba återgången av draw call, ökar dess prestanda avsevärt under Direct3D 12 och Vulkan, även med en kraftfull central processor. Men vår metod inkluderar även andra spel med rik geometri. Den här gången ska vi testa på en plattform med fyra kärnor och reducerad CPU-frekvens och sedan jämföra resultaten med vad som tidigare erhållits med en högpresterande processor.

I den tidigare delen av testningen körde processorn på vår testbänk, Core i7-5960X, med en konstant frekvens på 4 GHz med åtta aktiva kärnor. För att simulera en svagare CPU inaktiverade vi halva kärnorna och installerade klockfrekvens på cirka 2,5 GHz.

För att vara ärlig är detta inte en särskilt realistisk konfiguration för moderna Intel-processorer (även de yngre Core i5-modellerna av Caby Lake och Coffee Lake-generationerna tar mer höga frekvenser med fyra kärnor fullt laddade), men det är ganska konsekvent med vissa modeller från tidigare generationer. 1,5 GHz är en lämplig skillnad för att tydligt visa kopplingen mellan grafik-API-versionen och processorberoendet, och låta mätningen av bildhastigheter på hela utbudet av moderna CPU-modeller förbli en uppgift för nästa del av vår "Processor dependence"-serie.

Å andra sidan har vi inte gått tillräckligt långt för att lämna två aktiva kärnor. Det finns inte längre en plats för en sådan processor i en modern hemdator, och vissa spel fungerar helt enkelt inte korrekt på två kärnor.

Baserat på resultaten från de första testerna diskvalificerade vi flera grafikkort från deltagarna, främst GeForce GTX 970 och GTX 980 Ti, som inte är lämpliga för spel under Direct3D 12 och Vulkan på grund av arkitektoniska egenskaper. Dessutom exkluderades budgetspeltitlar. Radeon grafikkort RX 560 och GeForce GTX 1050 Ti – de har helt enkelt inte tillräckligt kraftfulla GPU:er för att API-optimering ska spela en stor roll även på en svag plattform.

Slutligen hittade vi flera fel i testresultaten i den första delen av artikeln och kommer att presentera all data (för både starka och svaga processorer) i sammanfattande grafer och tabeller. För att säkerställa en rättvis jämförelse är de nya resultaten baserade på samma drivrutinsversioner (Radeon Software Crimson Adrenalin Edition 18.1.1 och GeForce Game Ready Driver 390.65) som vi använde förra gången. Drivrutinerna är ganska gamla, men om vi upprepade testerna på nuvarande versioner hade detta inte påverkat resultaten nämnvärt. När allt kommer omkring släpptes det senaste av de utvalda spelen redan i september förra året, och drivrutinerna innehåller redan optimeringar för dem alla. Under den senaste tiden har GPU-tillverkare inte gjort några globala förändringar i programvaran som förbättrar den övergripande prestandan.

Testbänk, testmetodik

Testa bänkkonfiguration
CPU Intel Core i7-5960X (4 kärnor @ 2,5 GHz, konstant frekvens)
Intel Core i7-5960X (8 kärnor @ 4,0 GHz, konstant frekvens)
Moderkort ASUS RAMPAGE V EXTREME
Bagge Corsair Vengeance LPX, 2133 MHz, 4 × 4 GB
ROM Intel SSD 520 240 GB + Crucial M550 512 GB
kraftenhet Corsair AX1200i, 1200 W
CPU kylsystem Thermalright Archon
Ram CoolerMaster Testbänk V1.0
Övervaka NEC EA244UHD
operativ system Windows 10 Pro x64
Programvara för AMD GPU
Alla grafikkort Radeon Software Crimson Adrenalin Edition 18.1.1
NVIDIA GPU programvara
Alla grafikkort GeForce Game Ready Driver 390.65
Riktmärken: spel
Spel (i ordning efter släppdatum) API Inställningar, testmetod Helskärmskantutjämning
1920×1080 / 2560×1440 3840×2160
Ökningen av graven Raider DirectX 11/12 Max. kvalitet, VXAO av Inbyggt benchmark Av
Tom Clancys The Division DirectX 11/12 Max. kvalitet, HFTS avstängd Inbyggt benchmark SMAA 1x Ultra + TAA: Supersampling TAA: Stabilisering
UNDERGÅNG OpenGL 4.5/Vulkan Max. kvalitet. Gjuteriuppdrag TSSAA 8TX Av
Deus Ex: Mankind Divided DirectX 11/12 Max. kvalitet. Inbyggt benchmark Av
Battlefield 1 DirectX 11/12 Max. kvalitet. OCAT, start på Over the Top-uppdraget TAA
Ashes of the Singularity: Eskalering DirectX 11/12/Vulkan Av
Total War: WARHAMMER II, inbyggt riktmärke DirectX 11/12 Max. kvalitet. Inbyggt benchmark (Battle Benchmark) Av

Testklippet inkluderade sju spel från 2016-2017, varav sex stöder Direct3D 12 API och två stöder Vulkan. Det är säkert känt att alla på ett eller annat sätt använder Multi-Engine-funktionen ("asynkrona beräkningar"). Och några ord om DOOM. Det här spelet använder de så kallade Shader Intrinsitc Functions - shaders som exekveras direkt på GPU:n för den valda arkitekturen och kringgår kompileringsstadiet från högnivåkod. Endast Vulkan, till skillnad från OpenGL och Direct3D av någon version, ger denna möjlighet, och endast AMD har släppt en motsvarande tillägg för Vulkan. NVIDIA har också sina egna Shader Intrinsics, men de är endast tillgängliga via det proprietära NVAPI-gränssnittet eller GameWorks-biblioteken. Det är därför Vulkan i DOOM gav en så kraftfull prestandaökning till AMD GPU:er, även om NVIDIA-chips inte heller är förolämpade.

Redan den 29:e, med releasen Windows 10, kommer att bli tillgänglig en ny version DirectX, som lovar att öka prestanda i spel och mer. Till skillnad från DirectX 11 behöver du inte köpa ett nytt grafikkort, vilket är goda nyheter. DirectX 12 lovar att fungera på många enheter: smartphones, surfplattor, bärbara datorer, personliga datorer Och Xbox ett . För den sistnämnda förutspår Microsoft själva en ökning av prestanda, även jämfört med PS4.

Vad är DirectX?

« DirectX(från engelska direkt- direkt, omedelbar) är en uppsättning API:er utformade för att lösa problem relaterade till programmering under Windows. Används mest för att skriva datorspel. DirectX Development Kit för Windows tillgänglig gratis på hemsidan Microsoft. Ofta uppdaterad DirectX-versioner levereras med spelapplikationer." (c) Wikipedia

  • DirectX 6.0 - multitexturering
  • DirectX 7.0 - hårdvarustöd för transformationer, beskärning och belysning
  • DirectX 8.0 - shader modell 1.1
  • DirectX 8.1 - Pixel Shaders 1.4 och Vertex Shaders 1.1
  • DirectX 9.0 - shader modell 2.0
  • DirectX 9.0b - Pixel Shaders 2.0b och Vertex Shaders 2.0
  • DirectX 9.0c - shader modell 3.0
  • DirectX 9.0L - version av DirectX 9.0 för Windows Vista
  • DirectX 10 - shader modell 4.0
  • DirectX 10.1 - shader modell 4.1
  • DirectX 11 - shader modell 5.0
  • DirectX 11.1 – många förbättringar, inklusive ökad kodflexibilitet och skydd mot buffertspill
  • DirectX 11.2 – olika förbättringar, inklusive att minska inmatningstiden och förbättra renderingskvaliteten med hjälp av texturkartor
  • DirectX 11.3 är ett alternativ till DirectX 12, men utan lågnivå-API

  • Vad är nytt i DirectX 12

    Tillträde på låg nivå
    Sedan tidigare DirectX erövrade marknaden Microsoft syftade till mångsidighet i mjukvaran och gav inte utvecklare direkt tillgång till grafikkortets lågnivåfunktioner. Men nu, tack vare nya uppringningsprocedurer, är tillgången till dem öppen. Men om utvecklare inte använder innovationer, kommer förare att automatiskt kunna optimera sin användning för att lösa standardproblem.

    Flertrådsoptimering och CPU-avlastning
    I mars 2014 släpptes en stor (vid den tiden) ny version av API:et. Huvudämnet var optimering av användningen CPU, och som ett exempel visades resultaten av testet för ramutmatningshastighet i riktmärket 3DMark. I skärmdumpen nedan kan du se en minskning av bildskärmshastigheten med två (!) gånger på grund av optimering av användningen av endast CPU och mer "smart" fördelning av resurser över kärnor.


    Driften av processorer med fler än fyra kärnor har också optimerats. Om det tidigare inte var vettigt att betala för mycket för extra kärnor om processorn köptes för spel, nu har allt förändrats.

    DirectX 11:


    DirectX 12:


    Använder flera GPU:er
    Semestern har kommit för spelare som har en inbyggd videokärna i sina processorer, men inte ett särskilt kraftfullt diskret grafikkort. DirectX 12 kommer att tillåta inte bara grafikkort med teknik att fungera samtidigt SLI eller Korseld, men också till de "diskreta + integrerade" paketen.


    Det går rykten om att kombinera diskreta grafikkort från olika tillverkare till paket, men det finns inga bevis för detta, och vi vet hur Nvidia gillar inte sådana beslut.


    Men det finns goda nyheter för ägare av kända anslutningar. Videokort fungerar samtidigt, snarare än ett i taget, och videominnet för dina grafikkort summeras. Nu multi GPU system har en separat buffert, där allt minne i videoadaptern är tillgängligt, och inte en delad, som tidigare.



    DirectX 12 och inbyggda low-end GPU:er
    Förbättrad prestanda, precis som du själv DirectX 12, kommer att vara tillgänglig inte bara på ultramoderna spelstationer, utan även för relativt svaga inbyggda lösningar. Enligt tester gjorda på Surface Pro 3 med processor Core i5 med en inbyggd videokärna Intel HD Graphics 4400, ökade produktiviteten med 50 %. Allt tack vare smartare användning GPU.


    Utnyttja eSRAMs fulla potential (endast Xbox One)
    eSRAM– speciellt höghastighetsminne som används i GPU Xbox ett. Tidigare användes ett speciellt API för kontroll, men nu, med releasen DirectX 12, allt styrs av ett API - DirectX. Denna förbättring lovar en ökning av minneshastigheten och mer effektiv användning av det. Detta kommer förmodligen att bidra till att minska, och kanske till och med bli av med, eftersläpningen PS4.


    Bakåtkompatibel med DirectX 11 grafikkort
    De flesta moderna grafikkort som stöder DirectX 11, helt kompatibel med DirectX 12. Men tyvärr kommer inte alla att kunna använda alla innovationer i det nya API:et.


    Obligatoriska krav för DirectX 12:
    • Windows 10;
    • Grafikkort kompatibelt med DirectX 12 API;
    • Videodrivrutin som stöder DirectX 12 API;

    Med det här setet behöver du bara vänta tills DirectX 12-spelen kommer ut för att kolla upp det själv.

    Stöder mitt grafikkort DirectX 12?

    Lista över grafikkort som stöder DirectX 12 API:
    *Denna lista innehåller grafikkort som stöder DirectX 12 API, men inte alla stöder DirectX 12_0 och DirectX 12_1.

    • AMD Radeon™ R9-seriens grafik
    • AMD Radeon™ R7-seriens grafik
    • AMD Radeon™ R5 240-grafik
    • AMD Radeon™ HD 8000-seriens grafik för OEM-system (HD 8570 och högre)
    • AMD Radeon™ HD 8000M-seriens grafik för bärbara datorer
    • AMD Radeon™ HD 7000-seriens grafik (HD 7730 och högre)
    • AMD Radeon™ HD 7000M-seriens grafik för bärbara datorer (HD 7730M och högre)
    • AMD A4/A6/A8/A10-7000-seriens APU:er ("Kaveri")
    • AMD A6/A8/A10 PRO-7000-seriens APU:er ("Kaveri")
    • AMD E1/A4/A10 Micro-6000 Series APU:er ("Mullins")
    • AMD E1/E2/A4/A6/A8-6000-seriens APU:er ("Beema")
    Nvidia
    • Nvidia Fermi (GTX 400, GTX 500)
    • Nvidia Kepler (GTX 600, GTX 700)
    • Nvidia Maxwell (GTX 700, GTX 900)
    Intel
    • Intel Haswell (HD 5000, 4600, 4400 och 4200; Iris 5200 och 5100)
    • Intel Broadwell (HD 6000, 5600, 5500 och 5300; Iris 6200 och 6100)

    AMD

    • AMD Radeon™ R9 285, 290/290X, 295X2, M295X
    • AMD Radeon™ R7 260/260X
    • AMD Radeon™ HD 8770
    • AMD Radeon™ HD 7790
    Nvidia
    • GeForce, GTX Titan X
    • GTX 980, GTX 980Ti
    • GTX 970
    • GTX 960

    Nvidia

    • GeForce, GTX Titan X
    • GTX 980, GTX 980Ti
    • GTX 970
    • GTX 960

    DirectX 12_0
    Endast GPU:er eller arkitekturer som är specifikt designade för att stödja DirectX 12 kommer att stödja DirectX 12_0-funktionsnivån, som innehåller ett antal nya teknologier. Bland dem finns Tiled Resources. I princip är kakelresurser kända från DirectX 11, de är mycket effektiva när det gäller minne som används och kan också förbättra detaljnivån avsevärt. Genom att använda små texturer i flera orienteringar kan du simulera stora texturer. Dessutom sparas minnet avsevärt. Och du behöver inte offra bildkvaliteten.

    Exemplet visar en klassisk Texture 3D-textur för DirectX 11 med en upplösning på 1 200 x 600 x 600 pixlar med 32-bitars färg – den upptar 1,6 GB. En Tiled Texture 3D-textur kan användas med samma kvalitet genom flera iterationer - den kommer att ha en upplösning på 32 x 32 x 16 pixlar med 32-bitars färg. Storleken blir 156 MB. Ett exempel visar en renderingsscen där en sida vid sida 3D-textur används 2 500 gånger. För att skapa och simulera vissa material i 3D läggs ytterligare ett informationsfält till. Det kan till exempel vara värdet av transparens eller viskositet. Detta tillvägagångssätt gör att du bättre kan simulera vätskor och gaser.

    En annan typ av brickresurser är Volume Tiles Resources, men de tillhör funktionsnivån inte för DirectX 12_0, utan för 12_1.

    DirectX 12_0-nivån inkluderar typad UAV och ny modell Bind, som riktar API:et till ett större antal CPU-kärnor, vilket resulterar i större parallellisering och prestanda.

    DirectX 12_1
    Microsoft och GPU-utvecklarna gick ett steg längre med DirectX 12_1. Men bara de senaste GPU:erna stöder denna funktionalitet. Dessa inkluderar alla GPU:er baserade på 2:a generationens "Mawell". En av de nya teknologierna är konservativ rasterisering. Den används för Dynamic Super Resolution-filtret och Multiframe Sampled Anti-Aliasing.

    När du rastrar ett litet objekt/pixel är det i vissa fall bättre att överväga alla provpunkter som täcks, även om det bara är delvis. Konservativ rastrering är också viktig vid voxelisering av VXGI. Den förbättrade tekniken är mest märkbar vid beräkning av skuggor.


    DirectX 12: Ett nytt steg i utvecklingen av spel

    Windows 10 släpps den 29 juli. Och som en del av det nya operativsystemet kommer vi att se DirectX 12 API-paketet, som är exklusivt för denna version.

    DirectX 12 lovar att bli ett genombrott inom spelbranschen, eftersom det låter dig ta grafik och prestanda till nya nivåer, oavsett konfigurationen av enheten som den körs på.

    Vi kommer att berätta mer detaljerat om alla förändringar och innovationer i vår artikel om DirectX 12.

    "Drömmen för alla grafoniumälskare har gått i uppfyllelse! Det finns nu stöd för flera grafikkort på gränssnittsnivå! Dessutom kan du inte bara dela videoadaptrar som arbetar i SLI eller CrossFire, utan även GPU:er inbyggda i CPU:n, även från olika tillverkare.”


    Med lanseringen av Windows 10 kommer en ny version av DirectX API att vara tillgänglig för alla, vilket i hög grad kommer att förändra spelprestandan till det bättre. Till skillnad från tidigare versioner behöver du inte nytt grafikkort, eftersom nästan alla grafikprocessorer som släppts under de senaste åren kommer att ha Dx12-stöd.

    En ny version av gränssnittet för spel och multimediaapplikationer som kommer att fungera på alla Microsoft-enheter: smartphones, surfplattor, bärbara datorer, persondatorer och Xbox One. DX12, som ger utvecklare tillgång till lågnivåprogrammering och förbättrad multi-threading, kommer att förbättra prestandan hos befintlig hårdvara i spel. Enligt AMD kan du med det nya API:et öka antalet bearbetade objekt med 16,5 gånger jämfört med DX11 med samma bildhastighet. Och inbyggt stöd för DX12 i Windows 10 lovar det otrolig popularitet.(c) Windows 10 - De åtta viktigaste innovationerna för spelare

    Om DirectX

    Innan jag pratar i detalj om Dx12 och alla innovationer, låt mig påminna dig om vad DirectX är och vilka delar hela paketet av detta API består av.

    DirectX (från engelskans direct - direct, immediate) är en uppsättning API:er utformade för att lösa problem i samband med programmering under Microsoft Windows. Används mest för att skriva datorspel. DirectX-utvecklingspaketet för Microsoft Windows är tillgängligt gratis på Microsofts webbplats. Ofta levereras uppdaterade versioner av DirectX med spelapplikationer.(c) Wikipedia

    Huvudbiblioteket där förändringar och införandet av ny teknik oftast sker är Direct3D. Med varje viktig uppdatering av detta bibliotek får hela DirectX-paketet ett nytt index. De viktigaste innovationerna i Dx12 gjordes i den. Resten av biblioteken har också uppdaterats, men det finns nästan inga nya teknologier i dem, även om Microsoft lovar något nytt i framtida DirectX-uppdateringar.

    I allmänhet är DirectX-paketet uppdelat i följande bibliotek:

    • Direct2D är ett tvådimensionellt grafikutgångsgränssnitt.
    • Direct3D (D3D) är ett gränssnitt för att visa tredimensionella primitiver.
    • DirectInput är ett gränssnitt som används för att behandla data som kommer från tangentbordet, musen, joysticken och andra spelkontroller.
    • DirectPlay är ett nätverkskommunikationsgränssnitt för spel.
    • DirectSound - gränssnitt för arbete på låg nivå med ljud (vågformat)
    • DirectMusic är ett gränssnitt för att spela musik i Microsoft-format.
    • DirectShow är ett gränssnitt som används för in-/utmatning av ljud- och/eller videodata.

    Varje ny version av DirectX är tidsinställd för att sammanfalla med ett specifikt viktigt tekniskt genombrott. Dessa är främst nya versioner av shader-modeller som endast stöds av vissa generationer av GPU:er och versioner av Windows.

    Huvudfunktioner i versionerna:

    • DirectX 6.0 - Multitexturing
    • DirectX 7.0 - Hårdvarustöd för transformationer, beskärning och belysning
    • DirectX 8.0 - Shader modell 1.1
    • DirectX 8.1 - Pixel shaders 1.4 och vertex shaders 1.1
    • DirectX 9.0 - Shader modell 2.0
    • DirectX 9.0b - Pixel shaders 2.0b och vertex shaders 2.0
    • DirectX 9.0c - Shader modell 3.0
    • DirectX 10 - Shader modell 4.0
    • DirectX 10.1 - Shader modell 4.1
    • DirectX 11 - Shader modell 5.0
    • DirectX 11.1 - Shader modell 5.1
    • DirectX 12 - Lågnivå-renderings-API, förbättrad multi-threading, multi-GPU-stöd på API-nivå

    Funktioner och ny teknik i DirectX 12


    Tillträde på låg nivå
    Om DirectX-gränssnittet tidigare var inriktat på universalitet och inte gav utvecklare direkt tillgång till grafikkortets lågnivåfunktioner, nu, tack vare nya samtalsprocedurer, är åtkomsten till dem öppen, och ännu mer - om utvecklarna inte använder dem , kommer förare att automatiskt kunna optimera sin användning för att lösa standarduppgifter. Tack vare detta tillvägagångssätt kommer användningen av specifika grafikkortstekniker att öka prestandan även i äldre spel portade till DX12.

    Flertrådig optimering
    DirectX 12 är den första av alla versioner som är optimerad för multithreading på låg nivå. Spel kommer att kunna ladda alla tillgängliga CPU-kärnor jämnare, vilket resulterar i förbättrad övergripande spelprestanda. Tiden som krävs för att bearbeta huvudspeltråden minskar, och tillåter även fler Draw-call. Som ett resultat kan du på samma hårdvara rendera många gånger fler objekt utan att minska bildhastigheten. DX 12 kommer att få ut det mesta av din PC!

    CPU multi-threading optimering





    Använder flera GPU:er
    Alla grafoniumälskares dröm har gått i uppfyllelse! Det finns nu stöd för flera grafikkort på gränssnittsnivå! Dessutom kan du inte bara dela videoadaptrar som fungerar i SLI eller CrossFire, utan också GPU:er inbyggda i CPU:n, även från olika tillverkare. Spel kommer inte att förlita sig på en specifik GPU för grafikbearbetning, utan på hela utbudet av grafikkort som finns i systemet som en enda GPU.


    Det finns ännu ingen bekräftelse på om det kommer att vara möjligt att kombinera två diskreta grafikkort från AMD eller Nvidia, men företagen demonstrerar själva den gemensamma driften av en APU + GPU från AMD, eller en integrerad videokärna från Intel + ett diskret Nvidia GTX-kort . Kanske väntar partnerskap över varumärken eller användning av grafikkort på oss olika generationer i ett system, vilket kommer att sätta stopp för det långvariga kriget mellan AMD och Nvidia fanboys.


    Den största fördelen med att kombinera alla GPU: er i ett kluster är möjligheten att bearbeta varje enskild bildruta med hela arrayen, vilket eliminerar problemen med kompatibilitet för spel med Multi-GPU, och låter dig också inte kopiera videominnet för varje enhet, men för att använda det tillsammans, alltså nu är minneskapaciteten på flera grafikkort summerad!



    Utnyttja eSRAMs fulla potential (endast Xbox One)
    eSRAM är ett speciellt höghastighetsminne som används i Xbox One GPU. Om det tidigare fanns ett speciellt API för att arbeta med det, nu är dessa procedurer och funktioner inbyggda i Dx12, och tillgången till den är optimerad och enklare för slututvecklare. Därför kan vi förvänta oss en ökning av konsolens prestanda, samt en ökning av kvalitet och prestanda i framtida spel.


    Bakåtkompatibel med DirectX 11 grafikkort
    De flesta moderna grafikkort som stöder DX 11.1 är helt kompatibla med DX 12. Äldre grafikkort kommer bara delvis att stödja det nya API:et. Nu kommer mer än 70 % av grafikkorten som spelare har att ha helt eller delvis stöd för alla innovationer. Full lista grafikkort som är kompatibla med DX 12, enligt tillverkarna, kommer att presenteras i slutet av artikeln.


    DirectX 12 + inbyggda och low-end GPU:er
    Alla fördelar med DirectX 12 kommer att vara tillgängliga inte bara för speldatorer med den senaste generationens grafikkort, utan också för enheter med budgetgrafikkort eller till och med GPU:er inbyggda i processorer, såsom bärbara datorer och surfplattor. Tester utförda på en Surface Pro 3 med en Core i5-processor med en integrerad Intel 4400 GPU visar prestandavinster på över 50 % i grafikapplikationer och spel i ett anpassat riktmärke där bildhastigheter ökade från 19 FPS till 33 FPS med det nya API:et.


    4k + DirectX 12
    Vi kommer också att optimera arbetet med höga upplösningar, och vid övergång till DX12 kommer den genomsnittliga prestandaökningen vid 4k-upplösningar att vara 30-40 procent. Dessa nummer namngavs av chefsutvecklaren för Project CARS, Ian Bell.


    Liknande tekniker

    Före lanseringen av Dx12 introducerade vissa företag sina egna API:er, liknande funktionalitet, men som syftade till specifika GPU:er från en viss tillverkare eller andra grafikbibliotek, som OpenGL.

    Mantle är en lågnivå API-specifikation utvecklad av AMD som ett alternativ till DirectX och OpenGL. Stöds för närvarande endast av grafik AMD-processorer GCN-arkitektur, även om det finns en möjlighet att andra GPU-tillverkare kan implementera den i framtiden, men på grund av lanseringen av Dx12, som stöds av alla GPU-tillverkare på marknaden, är sannolikheten för detta extremt låg. Jo, den sista spiken i kistan kan vara att Dx12, att döma av tester utförda av AMD själva, fungerar snabbare än deras egen teknik på deras egna grafikkort.

    Vulkan API - var ursprungligen känd som "nästa generation av OpenGL" eller helt enkelt "glNext", men efter tillkännagivandet övergav Khronos Group dessa namn till förmån för namnet Vulkan. Precis som OpenGL tillåter Vulkan högpresterande realtidsrendering olika applikationer med 3D-grafik, som spel eller interaktiva böcker, på alla plattformar, och ger även högre prestanda och mindre CPU-belastning, liknande Direct3D 12 och Mantle. Vulkan är baserad på AMD-teknologier i Mantle. Precis som OpenGL tidigare kommer Vulkan i framtiden att bli det enda värdiga alternativet till DirectX och kommer att stödjas av Open Source-föreningar och sådana speljättar som Valve.

    Lista över grafikkort som för närvarande stöder DirectX 12

    • AMD Radeon™ R9-seriens grafik
    • AMD Radeon™ R7-seriens grafik
    • AMD Radeon™ R5 240-grafik
    • AMD Radeon™ HD 8000-seriens grafik för OEM-system (HD 8570 och uppåt)
    • AMD Radeon™ HD 8000M-seriens grafik för bärbara datorer
    • AMD Radeon™ HD 7000-seriens grafik (HD 7730 och uppåt)
    • AMD Radeon™ HD 7000M-seriens grafik för bärbara datorer (HD 7730M och uppåt)
    • AMD A4/A6/A8/A10-7000-seriens APU:er (kodnamnet "Kaveri")
    • AMD A6/A8/A10 PRO-7000 Series APU:er (kodnamnet "Kaveri")
    • AMD E1/A4/A10 Micro-6000 Series APU:er (kodnamnet "Mullins")
    • AMD E1/E2/A4/A6/A8-6000-seriens APU:er (kodnamnet "Beema")
    • Nvidia Fermi (GTX 400, GTX 500)
    • Nvidia Kepler (GTX 600, GTX 700)
    • Nvidia Maxwell (GTX 700, GTX 900)
    • Intel Haswell (HD 5000, 4600, 4400 och 4200; Iris 5200 och 5100)
    • Intel Broadwell (HD 6000, 5600, 5500 och 5300; Iris 6200 och 6100)

    Istället för en slutsats. Slutsatser

    Om Microsoft och GPU-tillverkare håller vad de lovar och inte blockerar anslutningar mellan leverantörer, som för närvarande händer med PhysX och Mantle, kommer vi att få ett tekniskt genombrott. Efter så många år och besvikelser som PC-versionen av Batman Arkham Knight, började API- och spelutvecklare optimera koden för den befintliga hårdvaran. Vad mer behöver en spelare? Naturligtvis mer FPS gratis! Nästa generationer av grafikkort kommer att optimeras ännu mer för DX12 och kommer att ha fler megahertz och gigabyte, stöd för ny teknik, men det kommer att vara möjligt att spela nya spel bekvämt mycket snart. Många kommer att säga att det inte finns några spel för nya DirectX ännu och att det inte kommer att finnas några, och de kommer att vara nästan rätt. Men många av årets hittitlar kommer att få uppdateringar för att stödja det nya API:et efter Windows release 10. Och 90% av spelen som kommer att släppas i slutet av detta år har redan meddelat sitt stöd. Vi kommer att ta reda på vad som faktiskt kommer att hända under de kommande månaderna, håll kontakten!

    DirectXär en uppsättning nödvändiga bibliotek för Microsoft Windows 32-bitars och 64-bitars. Den nya Direct X11 är designad för korrekt drift av olika datorspel, såväl som för andra program, till exempel för att spela upp video och ljud i vissa spelare. Spelare kan också använda den. Alla datorspel använder 3D-grafik, som kommer att implementeras med Direct X12-teknik. Utan snabb uppdatering av DirectX-teknikens programvara för din dator kanske ditt datorspel inte startar.

    Även om du redan har det här programmet installerat, men mer gammal version, för korrekt funktion och visning av 3D-grafik från moderna datorspel rekommenderar vi att du laddar ner och uppdaterar DirectX gratis för att senaste versionen.

    Inom tekniken Direkt X Det finns också lågnivåfunktioner som tvådimensionell (2D) grafikacceleration. Det finns också stöd olika enheter inmatningsenheter som joystick, tangentbord, mus. Det finns även stöd för ljudutrustning för att säkerställa högkvalitativt ljud. När du installerar ett spel kan det ofta medfölja DirectX 11, även föråldrade versioner DirectX 10 eller DirectX 9.0c. Dessa versioner är inte längre relevanta och vi rekommenderar att du uppdaterar dem till den senaste versionen DirectX 12. Allt detta beror på det faktum att DirectX för Windows 10, 8, 7 kan uppdateras ganska ofta, och det är nödvändigt att övervaka uppdateringarna. Med varje ny version av programmet läggs nya bibliotek och ny teknik till för att förbättra kvaliteten på grafiken datorspel och inte bara. Varje spelare bör alltid ha olika nya drivrutiner till hands, varav en är DirectX 11 och 12 för Windows 7, 8, 10. Så vi rekommenderar att du installerar den senaste versionen av DirectX, vilket du kan göra gratis ladda ner DirectX 11/12 för Windows 7, 8, 10 via en direktlänk utan registrering och SMS till vår hemsida.

    Tack vare detta installationsprogram, som du kan ladda ner nedan, får du en uppdatering till DirectX 9.0c, 10, 11, 11.1, 12 för Windows 10, 8 och 7. Du behöver bara en internetanslutning. Genom att köra webbinstallationsprogrammet kan du uppdatera DirectX till den senaste versionen från den officiella webbplatsen.

    Den officiella releasen av DirectX 12 för Windows 7, 8, 10 ägde rum för länge sedan. Vi vill påpeka att du inte behöver installera DirectX 12 för Windows 10, eftersom det är inbyggt i Windows-system 10.

    Ofta vet användare inte svaret på frågan - hur kontrollerar man DirectX-versionen på Windows 10, 7, 8? För att göra detta måste du samtidigt trycka på tangenterna på tangentbordet Win + R (där Win är nyckeln med Windows-logotypen) eller klicka på Start-knappen (i Windows 10 och 8 - högerklicka på "Start" - " Kör”), och skriv in i sökfältet dxdiag och tryck sedan på Retur. Ett fönster öppnas Diagnostikverktyg för DirectX, och på fliken "System" ser du information om installerad version DirectX.

    DirectX 12 är en speciell komponent som säkerställer en smidig drift av operativsystemet och andra applikationer, främst spel, med grafikkortsdrivrutiner.

    Om du regelbundet har följt vår serie med innehåll relaterat till nya Windows 10, har du förmodligen märkt att DirectX 12 ofta nämndes i dem. Detta är ingen slump - från det ögonblick som Microsoft började prata om nästa version av operativsystemet har företaget upprepade gånger betonat den centrala rollen som tilldelats den senaste DirectX. Varför är detta så viktigt för dig som användare, och vilka förbättringar kommer den nya versionen att medföra? GUI med det kommande Windows 10? Idag ska vi försöka att kortfattat besvara dessa frågor.

    Lite bakgrund

    Även om det ofta betraktas som en integrerad del av alla Windows-system, dök DirectX faktiskt först upp i Windows 95 Service Pack 2. Det är en komplex uppsättning av olika moduler som tillsammans kallas ett applikationsprogrammeringsgränssnitt (API). Var och en av dem utför många och varierande funktioner, men deras huvudsakliga syfte är att ge direkt åtkomst för olika multimedia- och videoprogram (mest spel, naturligtvis) till hårdvaran i datorsystemet som körs under Windows kontroll.

    Före den första versionen av DirectX (som var serienummer 2.0a) med Windows 95 Service Release 2, att starta och köra sådana applikationer (spel) var en besvärlig och komplex process. För att få direkt tillgång till hårdvaran gick programmet åt DOS, föregångaren till Windows utan grafiskt gränssnitt. Det var milt sagt en ineffektiv mekanism för att använda komponenter som t.ex Bagge, video och Ljudkort etc.

    Med tillkomsten av Windows 95 beslutade Microsoft att det var dags att öppna upp ny sida i dess historia. Företaget insåg att för att göra det nya operativsystemet populärt bland vanliga användare och särskilt bland spelare bör man erbjuda en mer effektiv arbetsmiljö för att köra speltitlar.

    Så föddes DirectX - en ny generations programmeringsgränssnitt, tack vare vilket alla multimediaapplikationer som kan använda det fick mer snabb åtkomst till den utrustning de behöver.

    Införandet av det nya API:et gick relativt långsamt i början, särskilt mot bakgrund av ganska stark konkurrens från OpenGL, som hade dykt upp några år tidigare. Gradvis blev DirectX dock bättre och bättre och dominerar idag nästan på egen hand datorspelens värld – åtminstone på Windows-plattformen.

    Lyckonummer 12

    Det är inte svårt att gissa att siffrorna i gränssnittsnamnet anger dess versionsnummer. I det här fallet talar vi om den tolfte versionen av DirectX, som förtjänar särskild uppmärksamhet från alla de elva andra som föregick den.

    Sanningen är att under det senaste decenniet, sedan version 10 släpptes, har Microsoft i stort sett vilat på sina gamla lagrar när det kommer till DirectX. Gränssnittets (och Windows i synnerhet) dominans i PC-segmentet gjorde företaget lite lat, och som ett resultat var de flesta av förbättringarna i version 10 och 11 mer evolutionära än revolutionerande. Var och en av dessa versioner fick halvtidsuppdateringar som lade till relativt små optimeringar och nya, men inte särskilt spännande, funktioner.

    Däremot är version 12 ett stort, avgörande steg framåt, inte bara för DirectX i synnerhet, utan för Microsoft i allmänhet.

    Eftersom Windows 10 kommer att vara en enda plattform som körs på smartphones, surfplattor, bärbara datorer, stationära datorer och spelkonsoler (Xbox One), kommer ankomsten av DirectX 12 att påverka ett mycket bredare utbud av hårdvaruenheter.

    För Xbox One-ägare, till exempel, lovar det nya gränssnittet snabbare renderingsmöjligheter och därför snyggare spel. Dessutom hoppas Microsoft att övergången till DirectX 12 kommer att radera dominansen av sin huvudkonkurrent, Sonys PlayStation 4-konsol, som för närvarande erbjuder mer processorkraft än Xbox One. Till exempel kommer det nya API:et att tillåta spelutvecklare att få snabbare tillgång till Xbox:s högpresterande ESRAM-buffert, vilket i sin tur kommer att leda till högre bildrutor per sekund.

    DirectX 12 lovar acceleration av Xbox One-instrumentpanelen, samt fullt stöd för 4K-video.

    Nytt liv för gamla datorer

    Ett annat mycket intressant löfte förknippat med DirectX 12 är detta: optimering. Microsoft säger att bara genom att uppgradera till Windows 10 (och DirectX i enlighet därmed) kan din PC:s multimediaprestanda (dvs. spel) nästan fördubblas. Och preliminära tester av PCWord visade att tillväxten kunde bli ännu större.

    Hur kan du uppnå ett liknande språng i prestanda utan att byta hårdvara? Allt är väldigt enkelt - på grund av den fulla användningen av de resurser som finns tillgängliga för datorn.

    Idag är nästan alla nuvarande datorer, oavsett om de är mobila eller stationära, beroende av en processor med mer än en datorkärna. Dessutom, i moderna GPU:er mäts antalet kärnor i tusentals.

    Att gå tillbaka till när Intel avslutade "MHz-kriget" och anammade konceptet att öka prestanda genom parallellism, d.v.s. genom att dela operationer/beräkningar mellan två eller flera processorkärnor, då programvara var inte redo för ett så stort steg framåt.

    Inte heller massivt OS(läs Windows), inte heller applikationerna som körs under dem har optimerats för att dra full nytta av att ha mer än en processorkärna.

    Att ersätta en enkelkärnig processor med en dubbel- eller fyrkärnig processor ledde därför utan tvekan till en ökning av prestanda, men inte så dramatiskt som användarna förväntade sig.

    Ett av huvudmålen med nya DirectX 12 är just att tillåta spel att maximalt utnyttja alla tillgängliga processorkärnor och ladda dem till sin fulla kapacitet. Effekten av denna optimering är minst sagt imponerande - resultaten i det populära 3D Mark-testet visar en 10-15 gånger högre prestanda vid övergång från DirectX 11 till DirectX 12!

    Det är dock inte allt. Mjukvarujätten lovar prestandavinster inte bara för kraftfulla stationära system, utan också för svagare enheter som bärbara datorer och Windows-surfplattor.

    Det betyder naturligtvis inte att de mirakulöst kommer att förvandlas till ett fullfjädrat alternativ till en stationär speldator, men tack vare Windows 10 och DirectX 12 kommer de att erbjuda smidigare och bättre grafik.

    Nytt gränssnitt Det kommer också att ge en mycket effektivare algoritm för att fördela uppgifter mellan integrerad och diskret grafik – en funktion som liknar den som erbjuds av Lucid’s Virtu-teknologi, vilket var sensationellt för flera år sedan.

    Slutligen kommer DirectX 12 att förbereda Windows för den nya värld av 4K-upplösning som vi hoppas kommer att ta fäste i PC-världen under de närmaste åren.

    Ha en bra dag!

    Publikationer om ämnet