Gå til innhold

Valve: Left 4 Dead 2 er raskere på Linux enn på Windows


Anbefalte innlegg

Videoannonse
Annonse
Å sammenligne en optimalisert OpenGL-versjon på Linux mot en suboptimal Direct3D-versjon på Windows gjør det til en feilaktig sammenligning.

 

Hvorfor tror du de ikke har optimalisert Direct3D-versjonen? De skriver «That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version.». Dette oppfatter jeg som at de har brukt mer tid på optimalisering av Direct3D-versjonen på Windows, enn på OpenGL-versjonen på Linux.

  • Liker 1
Lenke til kommentar
Å sammenligne en optimalisert OpenGL-versjon på Linux mot en suboptimal Direct3D-versjon på Windows gjør det til en feilaktig sammenligning.
Hvorfor tror du de ikke har optimalisert Direct3D-versjonen? De skriver «That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version.». Dette oppfatter jeg som at de har brukt mer tid på optimalisering av Direct3D-versjonen på Windows, enn på OpenGL-versjonen på Linux.

 

Fordi de sier det selv: Now that we know the hardware is capable of more performance, we will go back and figure out how to mitigate this effect under Direct3D.

Lenke til kommentar

Heisann.. Den andre grunnen til at den dustemaskinen koster 2000 NOK er fordi den er subsidiert gjennom støtte fra programvareprodusenter. Det har seg slik at mange OEM-Leverandører velger å legge ved tredjeparts programvare mot et økonomisk vederlag, så da gratulerer jeg. Du har nettopp gjort maskinene til 2000 dyrere.

Tullball, det er haugevis med dokumentasjon på dette. Husker du nettbøkene med linux? Da kunne vi lett sammenligne hva all reklamedritten utgjør i sparte lisenspenger. Det utgjør kanskje en hundrelapp, og var inkludert i mitt estimat. En windows premium lisens koster over åtte hundre fra nettbutikk. Nei, de store leverandørene får ikke spesielt store rabatter heller. Det er slik et monpol fungerer, du blir tatt hardt en viss plass uten noe du skulle ha sagt.

Andre programvareselskap en Microsoft subsidierer maskinen. Her kan vel symantec, Macafee og mange andre nevnes. Dette er ikke noe nytt.

Lenke til kommentar

Fordi de sier det selv: Now that we know the hardware is capable of more performance, we will go back and figure out how to mitigate this effect under Direct3D.

 

De sier at det kanskje er mulig å optimalisere Direct3D mer ja, ikke at de ikke har optimalisert det. Det er mulig Direct3D kan yte like bra, men det krever i så fall (i dette tilfellet) mer optimalisering enn OpenGL gjorde.

 

Oppga de noen Direct3D tall overhode? Det var vel snakk om OpenGL Windows 270 -> 303,4?

 

270.6 FPS var med Direct3D:

Running Left 4 Dead 2 on Windows 7 with Direct3D drivers, we get 270.6 FPS as a baseline.
Lenke til kommentar

Andre programvareselskap en Microsoft subsidierer maskinen. Her kan vel symantec, Macafee og mange andre nevnes. Dette er ikke noe nytt.

vi er enige i dette, det var ditt latterlige estimat på at det utgjorde lisensen pluss to tusen kroner i tillegg jeg svarte på. Jeg forklarte deg at dette utgjorde totalt omtrent hundre kroner. Skjønner du det nå?

 

Takk for lenken Geir, ser ikke bort fra at Microsoft fortsatt bruker slike skitne grep for å hindre konkurranse. En hundrelapp pr. lisens holder nok for å tvinge leverandørene til å boikotte linux. Da vil en realpris for windows home være omlag 650 kroner (billigste lisens hos komplett.no er 850, trekk fra to hundre). Altså godt over de fem hundre jeg dro frem. Prisdifferansen øker naturligvis dramatisk med dyrere windowsversjoner.

Lenke til kommentar

Det er en ting som er verdt å påpeke når det gjelder OS og ressursbruk.

 

Det er ikke bare det at OS tar en viss del av ressursene, men OS styrer også hvor nær maks teoretisk bruk man kan komme.

 

F.eks i WinXP tiden så hadde Linux mye bedre I/O system enn Windows. Det betød generelt sett i praksis bedre disk ytelse, bedre minne ytelse, og bedre bruk av swap og fri minne. Har ikke testet med Win7 vs Linux, men utifra tallene i denne artikkelen så kan det virke som Linux fremdeles ligger en smule foran.

 

Til sammenligning er OSX sitt I/O system tragisk dårlig. Det skal ikke mye concurrent I/O til der før alt går i dvale og venter på bedre tider.

 

 

Og det at de har brukt årevis på å optimalisere windows versjonen (med DirectX libs, som er førsteprioritet fra Microsoft for Windows spill utvikling), og slår den ytelsen etter et halvt år med linux utvikling.. Astonishing!

Lenke til kommentar
Fordi de sier det selv: Now that we know the hardware is capable of more performance, we will go back and figure out how to mitigate this effect under Direct3D.
De sier at det kanskje er mulig å optimalisere Direct3D mer ja, ikke at de ikke har optimalisert det.

 

Hvor sier de kanskje? Hvor står det at de allerede har optimalisert D3D-versjonen med de nye funnene? Det må jo bety det motsatte, hvis de skriver at de skal gjøre det senere.

 

Det er mulig Direct3D kan yte like bra, men det krever i så fall (i dette tilfellet) mer optimalisering enn OpenGL gjorde.

Hvor har du det ifra? Alt vi vet er at en optimalisert OpenGL-versjon pusher flere FPS enn en umodifisert D3D9-versjon. D3D9 er snart 10 år gammelt, og har en betydelig overhead som var målet med D3D10. Og D3D11.1 skal visst være enda kjappere.

 

D3D11 og WoW: http://www.xtremesystems.org/forums/showthread.php?270310-World-of-Warcraft-DirectX-11-up-to-50-percent-faster-than-DirectX-9-!

 

Det står ingenting om hvilke versjoner av OpenGL og D3D som blir benyttet til testingen, som vil skape forvirring blant de uvitne. Det hele er lite vitenskaplig.

 

Uansett så unner jeg Linux dette. Det er på tide.

Lenke til kommentar

0stepop, nå gjør du deg unødvendig vanskelig. Du vet vel like godt som alle andre at Source motoren er flere år gammel, og ble skrevet for D3D. Den har med andre ord blitt optimalisert for D3D gjennom flere år. At man da på et par måneder forbigår dette på linux med opengl er enormt imponerende.

 

Det er snakk om versjon 9 av D3D og opengl versjon 2.1.

Lenke til kommentar

Nå er ikke bare systemresurser CPU men RAM, Harddisk, CPU og Div Maskinvare.

Tror du virkelig at det vil utgjøre en merkbar forskjell om OSet spiser 1% eller 0.7% av alle ressursene?

Jeg tror ikke det.

Vist du har en PC der Windows tar bare 1% av resursene så må du ha en inni granskauen kraftig PC?. :ohmy:

Ja, en Intel Atom

 

EDIT:

Med 4GB RAM og en 200GB HDD

Intel Atom er den som blir brukt i mini-PCer. Så da har du vell enten Windows XP eller Windows 7 Starter da?. :hmm:

Lenke til kommentar

0stepop, nå gjør du deg unødvendig vanskelig. Du vet vel like godt som alle andre at Source motoren er flere år gammel, og ble skrevet for D3D. Den har med andre ord blitt optimalisert for D3D gjennom flere år. At man da på et par måneder forbigår dette på linux med opengl er enormt imponerende.

 

Det er snakk om versjon 9 av D3D og opengl versjon 2.1.

 

Man kan ikke optimalisere et spill til å utnytte D3D9 mere enn hva D3D9 kan tilby. Om 20 år til, så hadde de ikke fått optimalisert koden noe ytterligere til å utnytte D3D9. Valve fikk lagt til multithreaded rendering støtte, som ikke D3D9 har (D3D11 har det derimot). Så nei, jeg er ikke imponert før det kommer noen tester som viser at OpenGL forbigår D3D11.1. Det er nok her nøkkelen til gevinsten ligger. Men det jeg er imponert over, er at de har bidratt med bedre OpenGL drivere for alle, til og med for de som aldri kommer til å bruke Steam.

 

Et par måneder? De startet med OS X-utgaven, veldig mye av jobben var allerede gjort.

Lenke til kommentar

Man kan ikke optimalisere et spill til å utnytte D3D9 mere enn hva D3D9 kan tilby. Om 20 år til, så hadde de ikke fått optimalisert koden noe ytterligere til å utnytte D3D9. Valve fikk lagt til multithreaded rendering støtte, som ikke D3D9 har (D3D11 har det derimot).

Hva snakker du om her? Rendring skjer typisk på GPU, og har alltid vært flertrådet på GPU.

Et par måneder? De startet med OS X-utgaven, veldig mye av jobben var allerede gjort.

Hm, såvidt jeg kunne se var 6fps status på linux noen måneder før suksessen. Vi får se igjennom presentasjonen på siggraph når den er tilgjengelig.
Lenke til kommentar

Intel Atom er den som blir brukt i mini-PCer. Så da har du vell enten Windows XP eller Windows 7 Starter da?. :hmm:

Selv en Atom vil idle på under 1% med Task Manager kjørende i Windows 7 Home Premium :tease:

Poenget er at Windows i seg selv ikke spiser særlig mange ressurser utenom det som trengs for å kunne gi et rammeverk for å kjøre flere programmer samtidig, og det er fantastisk lite.

Lenke til kommentar

snipp

Nå har jeg liten erfaring med Direct3D, så skal ikke snakke for mye om det, men John Carmack har erfaring fra begge deler.

 

Direct3D handles multi-threading better, and newer versions manage state better.

Jeg har stor respekt for Carmack, og han er absolutt en veldig intelligent utvikler. Men jeg godtar ikke alt han sier, han virker for dedikert til den gamle metodikken med å styre GPUen med flest mulig kall fra CPU. For noen få år siden sa han at det betød lite hvilket nivå maskinvare folk hadde (altså SM3, SM4 eller SM5), og det er vel derfor de fremdeles satser på OpenGL 2.1. Selv om id er flinke artistisk, så er ikke grafikken alltid så veldig god/avansert. Megatexture tillater bedre teksturer, men først hvis du står i ro eller holder kamera rolig nok til at de får laste inn. Jeg kunne gått innpå hvorfor deres implementasjon av sparse virtual texturing er mindre god, og konsekvensene det har for AF og interpolering.

 

Men det skal sies at mange av Carmacks sitater var rundt lanseringen av OpenGL 3.0, og tilstanden for OpenGL-støtte i AMDs og Intels drivere var langt verre da.

 

Tja, han brukte sin innflytelse for å sette en rakett i rævva på Khronos etter OpenGL 3.0 han også . Det eneste konkrete som står der er (unntatt ditt utdrag) geometry shaders (riktignok kommentert av AMD), og det var på plass i OpenGL 3.2 i 2009. Kompatibilitet er ikke i seg selv en ille ting. Som sagt mange ganger, etter 3.0 var mange frustrert. I dag virker de fleste utviklerne godt fornøyd med API'et. Mange vil gjerne ha en mer radikal modell hvor kompatibilitet knekkes ofte. Jeg tilhører kundesiden, og ser denne tendensen over alt. Programmerere vil ha det siste hippeste, men i praksis er kompatibilitet av stor verdi.

 

Når det gjelder ditt utdrag, så er det allerede sagt. Svært få utviklere klager på flertråding utover at koden kan bli grisete. Selv John Carmack ser ikke ut til å se for seg store gevinster der. Det er direct state access utviklere venter på. Det vil ikke bringe ny funksjonalitet, men vil gi en ryddigere kode.

Kommentar: Som Nvidia har påpekt er det ingen ytelseforskjell mellom Core og Compatibility, så bakoverkompatibilitet trenger ikke å gå på bekostning av ytelse.

 

Jeg (i likhet med mange andre utviklere) venter på at OpenGL skal få flere av Nvidias utvidelser inn i spesifikasjonen, som direct state access(som du nenvner) og bindless graphics(som kan øke ytelsen over 50%).

 

 

La meg rydde opp i et par ting her.

Linux krever mindre systemresurser en Windows 7 og da har Linux mere resurser til overs som kan brukes til spill. :)

Dette er en veldig vanlig misforståelse. Det er svært uvanlig i dag at CPU-ytelsen er den store flaskehalsen for spill, og selv om CPUen bruker 100% på 1-2 kjerner så betyr ikke dette at en kraftigere CPU vil gi høyere grafikkytelse. Det er vanlig at rendering-thread kontinuerlig kaller på driveren, og IO-thread bør kontinuerlig polle for events for minimal responstid.

Nå er ikke bare systemresurser CPU men RAM, Harddisk, CPU og Div Maskinvare.

Det er mindre relevant så lenge CPU og RAM er på akseptabelt nivå, flaskehalsen for dagens spill er primært skjermkort.
Lenke til kommentar

Man kan ikke optimalisere et spill til å utnytte D3D9 mere enn hva D3D9 kan tilby. Om 20 år til, så hadde de ikke fått optimalisert koden noe ytterligere til å utnytte D3D9. Valve fikk lagt til multithreaded rendering støtte, som ikke D3D9 har (D3D11 har det derimot).

Hva snakker du om her? Rendring skjer typisk på GPU, og har alltid vært flertrådet på GPU.

Tråder er en software abstraksjon, og gir ikke mening i hardware. GPU-er er flerkjernede, ikke flertrådete. Du har heller ingen kontroll over hvordan kjernene benyttes i OpenGL eller Direct3D, som gjør det også irrelevant.

Lenke til kommentar

Man kan ikke optimalisere et spill til å utnytte D3D9 mere enn hva D3D9 kan tilby. Om 20 år til, så hadde de ikke fått optimalisert koden noe ytterligere til å utnytte D3D9. Valve fikk lagt til multithreaded rendering støtte, som ikke D3D9 har (D3D11 har det derimot).

Hva snakker du om her? Rendring skjer typisk på GPU, og har alltid vært flertrådet på GPU.

Tråder er en software abstraksjon, og gir ikke mening i hardware. GPU-er er flerkjernede, ikke flertrådete. Du har heller ingen kontroll over hvordan kjernene benyttes i OpenGL eller Direct3D, som gjør det også irrelevant.

link. 512 threads i Tesla, 1024 for Fermi.

CPU-threads er også implementert i hardware, så det er ingen programvareabstraksjon.

Lenke til kommentar

Man kan ikke optimalisere et spill til å utnytte D3D9 mere enn hva D3D9 kan tilby. Om 20 år til, så hadde de ikke fått optimalisert koden noe ytterligere til å utnytte D3D9. Valve fikk lagt til multithreaded rendering støtte, som ikke D3D9 har (D3D11 har det derimot).

Hva snakker du om her? Rendring skjer typisk på GPU, og har alltid vært flertrådet på GPU.

Tråder er en software abstraksjon, og gir ikke mening i hardware. GPU-er er flerkjernede, ikke flertrådete. Du har heller ingen kontroll over hvordan kjernene benyttes i OpenGL eller Direct3D, som gjør det også irrelevant.

link. 512 threads i Tesla, 1024 for Fermi.

CPU-threads er også implementert i hardware, så det er ingen programvareabstraksjon.

CPU-en har kontekster, ikke tråder.

 

edit: hmm ser ut til at jeg tar feil her. Tråder brukes også som uttrykk for flere strømmer med instruksjoner i samme prosessor, men det er ikke det samme.

Men uansett så er det irrelevant for OpenGL og Direct3D hvor mange tråder en GPU er istand til eller ikke, ettersom utvikleren ikke har noen kontroll over dette. Det var ikke noen tvil om hva 0stepop mente, så Del sitt innlegg var fullstendig verdiløst.

Endret av GeirGrusom
  • Liker 1
Lenke til kommentar

VELDIG bra, VALVE!

 

Som andre påpeker, tror jeg også at dette kan vippe en del folk over på annet OS enn MS. Om valve lager en distribusjonskalan for åpne OS, vil nok folk ha interesse av å lage spill/selge spill der.

 

Det blir jo en ny kanal med mindre konkurranse, samt man slipper å selv lage applikasjonsbutikken. Jeg tror neppe alle de 2500 spillene kommer over, men bare om de får over de største som CS, CS:S, Portal, m.m., så vil nok en del kudnemasse og firmaer få opp interessen :-)

 

Ellers er det en del feil i artikkelen, som påpekt. Både det med OpenGL og det med antall FPS (les:merkbart). Men ellers gir selve valveinstillingen meg litt mimring til 3dfx-tiden.. På den tiden var OpenGL gull for gamers!

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...