Valve: OpenGL er raskere Enn DirectX-selv På Windows
I en skummel vri som forsterker Valves avsmak For Windows 8, viser Det seg At Kildemotoren — 3d — motoren som driver Half Life 2, Left 4 Dead, Og Dota 2-kjører raskere På Ubuntu 12.04 og OpenGL Enn Windows 7 Og DirectX / direct3d.Valve Linux-Teamet bryter Det ned på sin skinnende nye blogg: Med En Nvidia GTX 680, Intel i7-3930k og 32GB RAM, Windows 7 og DirectX, Left 4 Dead 2 maxes ut på 270.6 fps. Med samme maskinvare, men forskjellig programvare — Ubuntu 12.04 Og OpenGL — L4D2 score 315 fps, nesten 20% raskere Enn Windows.Disse tallene er bemerkelsesverdige, med Tanke På At Valve har raffinert Kildemotorens ytelse under Windows i nesten 10 år, mens Valve Linux-teamet bare har jobbet med Linux – Porten Til Source i noen måneder. Valve attributter hastigheten-opp til » underliggende effektiviteten av kjernen Og OpenGL.»
Linux-porten TIL L4D2 startet ikke med 315 fps, selvfølgelig — den første versjonen faktisk maxed ut på bare 6 fps. For å realisere en så stor ytelsesgevinst, tas en trekantet tilnærming: spillet er tweaked for å spille pent Med Linux-kjernen, spillet er optimalisert for Å jobbe Med OpenGL (i stedet For DirectX), og feil I Linux-grafikkdriverne er adressert.
dette siste punktet er interessant: Valve har langvarige relasjoner MED AMD, Nvidia og Intel, hvor Valve rapporterer driverfeil og GPU maker løser dem i tide. Valve bærer dette forholdet over Til Linux, noe som er svært viktig for den fortsatte veksten Av Linux som spillplattform. I Dette tilfellet Sier Valve At Nvidia Linux-driveren manglet multithreading-støtte — og når de la den til en senere versjon av driveren, økte ytelsen.Men Her er den beste biten: ved å Bruke disse nye OpenGL-optimaliseringene, Er OpenGL-versjonen AV L4D2 På Windows nå raskere enn DirectX-versjonen. Med samme maskinvare klokker Windows 7/OpenGL/L4D2 inn på 303.4 fps-sammenlignet Med Windows 7 / DirectX / L4D2 ved 270.6 fps. Kort sagt: OpenGL er raskere enn DirectX.
Når det gjelder Hvorfor OpenGL er raskere Enn DirectX / Direct3D, er Det enkle svaret At OpenGL ser ut til å ha en jevnere, mer effektiv rørledning. Ved 303.4 fps gir OpenGL en ramme hver 3.29 millisekunder; Ved 270.6 fps gir DirectX en ramme i 3.69 millisekunder. At 0.4 millisekund forskjellen er ned til hvor fort DirectX rørledningen kan behandle OG tegne 3d-data.
Hvorfor bruker vi Fortsatt Direct3D?
Hvis OpenGL er raskere, hvorfor Er DirectX fortsatt den dominerende API? Det er ikke på grunn Av bildekvalitet eller funksjoner: OpenGL 4.0 har alle shaders og tessellators og widgets SOM DX har. Det er ikke på grunn av maskinvarestøtte: Alle Nvidia-og AMD-grafikkort støtter den nyeste versjonen Av OpenGL sammen Med DirectX.Virkelig, alt kommer ned til den krumme gamle tingen vi kaller nettverkseffekten-og selvfølgelig monopolistiske heft og markedsføringsdollar. DirectX, fordi den har en renere API og bedre dokumentasjon, er lettere å lære. Flere utviklere som bruker DirectX = flere DirectX-spill = bedre driverstøtte. Dette er en ond sløyfe som igjen fører til flere dx devs, flere dx-spill og bedre dx-drivere/verktøy/dokumentasjon. Microsoft har ubarmhjertig markedsført DirectX også-og hvem kan glemme utgivelsen Av Windows Vista og Microsofts OpenGL-smørekampanje? Vistas medfølgende versjon Av OpenGL var helt lammet, og tvang mange devs til å bytte Til DirectX.
Microsoft har god grunn til å hindre fremdriften Av OpenGL, selvfølgelig: Mens DirectX er proprietær og bare kjører På Windows, Xbox og Windows Phone, Er OpenGL helt plattform. Det er solide OpenGL-implementeringer For Mac, Linux, PlayStation 3, Nintendo Wii, og omtrent alle moderne smarttelefoner (OpenGL ES). Det er Åpenbart I Microsofts beste interesse å sikre at de beste spillopplevelsene er eksklusive for plattformene.Med Gabe Newells avsmak For Windows 8 (Og Blizzard ekko hans følelser), den forestående utgivelsen Av Steam På Linux, og den fortsatte veksten av smarttelefonspill, kan vi være på vei Til En OpenGL-revolusjon. Hvis Windows gaming crown fortsetter å glide, Kan OpenGL snart bli standard API, i stedet for en ettertanke. Veldig snart kan det være standard å utvikle et spill som fungerer bra på alle plattformer-i stedet for å fokusere På Direct3D og forlate Linux og OS X ute i kulde.Valve vil snakke om Sine Linux / OpenGL-fremskritt PÅ SIGGRAPH 2012 neste uke. SIGGRAPH er der vi vanligvis hører om De nyeste OpenGL og DirectX nyheter, også – så følg med!
Oppdatert @ 2: 40: Historien opprinnelig uttalt At OpenGL-spesifikasjonen vanligvis er foran DirectX-men det har ikke vært sant i noen år nå.