mboost-dp1

Microsoft

AMD: DirectX er en flaskehals

- Via bit-tech - , indsendt af hmn

Siden Windows 95 har Microsoft løbende udviklet på deres grafik-API DirectX, der med Windows 7 udkom i version 11. Til trods for konstante forbedringer mener man hos AMD, at der også er tale om en flaskehals.

Ser man på konsollerne PS3 og Xbox 360, så er deres grafikydelse efterhånden på blot en tiendedel af, hvad man finder i kraftige grafikkort i dag, men alligevel er spillene på pc ikke ti gange pænere at se på.

En af årsagerne til dette er ifølge Richard Huddy, GPU-udvikleransvarlig hos AMD, at DirectX gør det svært at udnytte hardwaren optimalt. Fordelen ved DirectX er naturligvis, at udviklerne ikke skal tænke på de mange forskellige grafikløsninger, som findes til pc.

Huddy ser dog et stadigt større ønske fra især de større udviklingshuse, om at det bliver nemmere at programmere direkte til GPU-hardwaren for at udnytte det bedre. Denne tendens tror han vil stige i fremtiden, og ser til dels også ønsket opfyldt, efterhånden som kommende GPU’er smelter mere sammen med CPU’er.





Gå til bund
Gravatar #1 - Ithaca
21. mar. 2011 10:45
Bliver det ikke ret besværligt at lave mainstream-software, hvis det skal passe til specifikt hardware/chipset?

Og hvordan står evt. eksisterende åbne standarder i forhold til DirectX, når der er tale om hardwareudnyttelse?
Gravatar #2 - Alrekr
21. mar. 2011 10:48
Selvfølgelig er DirectX en flaskehals. Hver eneste gang der kommer et lag, som programmet skal igennem, er der en flaskehals. Den største flaskehals er nok Windows selv - men uden Windows kunne vi spille vores spil (i den verden som vi lever i). Det samme gør sig lidt gældende med DirectX: Vi får en nedsat ydelse, men til gengæld kan alle spil spilles på maskiner, hvor hardwarekravene er opfyldt, og man behøver ikke en bestemt model af grafikkortet for at kunne spille spillet.

TL;DR: DirectX er et nødvendigt onde
Gravatar #3 - nbn
21. mar. 2011 10:51
Dengang hvor spil kunne snakke direkte med hardwaren, tilbage hvor Win95 og Win98 var the shit, kan jeg sagtens huske hvordan min maskine (og andres) til tider fik blå skærm fordi man fraggede for hårdt.

Hvis AMD har penge nok til ansættelse af et kæmpe support team der skal varetage alle de henvendelser fra kunder når deres spil crasher og tager computeren med, så skal de da bare gøre det.

IMO: Hellere en flaskehals end ustabile spil.
Gravatar #4 - Talkar
21. mar. 2011 10:53
IMO er DX ikke en flaskehals da det handler om at udnytte det til dets fulde potentiale, hvilket ikke engang er opnået med 9'eren endnu. Bare se på hvor godt Crysis 2 ser ud i DX9 mode i forhold til fx CoD: Black ops, man kan tydeligt se hvor der har sat et ordentligt dev team, og hvor der har været et som bare ville rushe et produkt.

Edit: For god ordens skyld, min post er ikke ment som flaming xD
Gravatar #5 - noisycricket
21. mar. 2011 10:59
hvordan vil de snakke direkte med hardwaren - jeg troede ikke windåse tillader det?
Gravatar #6 - BlackFalcon
21. mar. 2011 11:08
Jeg har lidt svært ved at anerkende at det uudnyttede potentiale i pc-grafikkort, skyldes DirectX. Når grafikken på pc ikke er op til 10 gange bedre end på konsol, er det IMHO fordi det er portet fra konsoller som udgør laveste fællesnævner.

Jeg kan simpelthen ikke se spil-producenterne skulle have interesse i at bytte et kæmpe lukrativt marked med at opnå bedre grafik.
Gravatar #7 - Moog
21. mar. 2011 11:09
Hvad er der i vejen for at AMD selv nosser sig sammen til at lave et API der både er nemt at skriv til og mere effektivt som også virker med Nvidias hardware (Så udviklere ikke skal skrive det samme to gange)?


Riiight, måske AMD skulle tænke før de taler...
Gravatar #8 - Tore
21. mar. 2011 11:09
#5 som jeg læser det, så kan de ikke nu, men vil meget gerne.

#4 Nu er der også nogen der nedprioritere grafik, til fordel for at kunne ramme en bredere målgruppe.. Bare se på WOW, de har om nogen praktiseret laveste fællesnævner.
Gravatar #9 - filmz-loke76
21. mar. 2011 11:11
Tore (8) skrev:
#5 som jeg læser det, så kan de ikke nu, men vil meget gerne.

#4 Nu er der også nogen der nedprioritere grafik, til fordel for at kunne ramme en bredere målgruppe.. Bare se på WOW, de har om nogen praktiseret laveste fællesnævner.


WOW skal også kunne køre på mange forskellige slags systemer (ydelsesmæssigt)
Gravatar #10 - HerrMansen
21. mar. 2011 11:12
noisycricket (5) skrev:
hvordan vil de snakke direkte med hardwaren - jeg troede ikke windåse tillader det?


Hey hey! GameOS! No problems with Windåse eller DX flaskehalse. Derp Derp.
Gravatar #11 - maghana
21. mar. 2011 11:12
Måske et stunt for at promovere lidt openCL ? :)
Gravatar #12 - Talkar
21. mar. 2011 11:20
#8
Nu begyndte WoW så også sin dev tid i 1999-2000, så det er jo ved at være lidt tid siden x)
Gravatar #13 - bjoeg
21. mar. 2011 11:21
Denne diskussion får mig til at tænke tilbage på gode gamle 3Dfx dage
Gravatar #14 - BlackFalcon
21. mar. 2011 11:21
#12
De har da lige udgivet et nyt kapitel i december 1010 - hvad forhindrer dem i at følge med tiden? :)

#13
Det var dælme gode tider ;)
Gravatar #15 - 1000tusind
21. mar. 2011 11:32
BlackFalcon (6) skrev:
Når grafikken på pc ikke er op til 10 gange bedre end på konsol, er det IMHO fordi det er portet fra konsoller som udgør laveste fællesnævner.

Jeg kan simpelthen ikke se spil-producenterne skulle have interesse i at bytte et kæmpe lukrativt marked med at opnå bedre grafik.


Præcis. Desuden giver det helt andre problemer hvis de portede den anden vej. Så ville spilproducenterne styre konsolmarkedet totalt og det vil konsolproducenterne næppe acceptere.

DirectX løser mange problemer, så vi kan kun håbe på at Microsoft får den optimeret yderligere.
Gravatar #16 - Talkar
21. mar. 2011 11:32
#14
Nu ved jeg ikke hvor meget du kender til programmering, men "bare" ved at udgive en expansion er der begrænsninger. Disse begrænsninger kommer af den engine der bliver brugt. Det er ikke umuligt at ændre en engine mens den er i brug, men det er et virkeligt stort arbejde, ofte er det nemmere og hurtiger samt dermed billigere at skrive en helt ny engine, men ved at gøre det så bliver de tidligere diske med WoW på ikke noget værd, da de ikke kan anvendes længere, og så videre. Der er en masse problemer med dette.
Gravatar #17 - Windcape
21. mar. 2011 11:36
Tore (8) skrev:
Nu er der også nogen der nedprioritere grafik, til fordel for at kunne ramme en bredere målgruppe.. Bare se på WOW, de har om nogen praktiseret laveste fællesnævner.
WoW har et relativt højt niveau af grafik. Det er deres art style, og overordnede low-vertice tilgang, der gør at det kan se forældet ud.

Ild, vand og tåge er allesammen ting der er top-notch i WoW, og bedre end mange nyere spil.

F.eks. Gamebryon, engine som bruges til bla. WAR og RIFT, er elendig sammenlignet med WoW, og bare fordi at udviklerne benytter en anden art-style textures, og lidt flere vertices (med flickering, z-fighting, shadow, og andre reflektionsproblemer til følge), betyder ikke at grafikken er bedre.

Gravatar #18 - Windcape
21. mar. 2011 11:39
Ser man på konsollerne PS3 og Xbox 360, så er deres grafikydelse efterhånden på blot en tiendedel, af hvad man finder i kraftige grafikkort i dag, men alligevel er spillene på pc ikke ti gange pænere at se på.
Fordelen ved konsollerne er at man kan skrive 100% hardware specifikke interfaces, og derfor få fuld optimal ydelse.

At opnå det samme på pc-grafikkort, kræver langt bedre kvalitet drivere end vi ser i dag. Og samtidig at der opretholdes et niveau af standarder der kan følges for at udviklerne kan opnå optimal performance.

Som det foregår i dag, optimere rigtige mange spil direkte til bestemte grafik-kort/serier. Fordi det er simpelhen den eneste måde at gøre det på.

Ligeledes opnår jeg med mit HD 6870 kort bedre grafik i WoW, end i enhvert spil på Gamebryon (WAR, RIFT, etc.).
Gravatar #19 - Windcape
21. mar. 2011 11:40
maghana (11) skrev:
Måske et stunt for at promovere lidt openCL ? :)
Tvivlsomt.

DirectX er mere end bare hvad OpenCL tilbyder. Og derudover handler det mere om udviklingsværktøjer, dokumentation, og ordenlige hardware interfaces (ie. drivere).
Gravatar #20 - Windcape
21. mar. 2011 11:41
Moog (7) skrev:
Hvad er der i vejen for at AMD selv nosser sig sammen til at lave et API der både er nemt at skriv til og mere effektivt som også virker med Nvidias hardware (Så udviklere ikke skal skrive det samme to gange)?
Jeg ville hellere om AMD ville skrive nogle bedre drivere, så der ikke altid er børnesygdomme de første 18 måneder, på alle deres kort.

Og lad mig slet ikke snakke om Crossfire. Det er helt håbløst.
Gravatar #21 - -N-
21. mar. 2011 11:44
#2 Finden ved DirectX er at det netop ikke skal igennem "hele" windows :-D

Var det tilfældet, ville vi stadig have doom grafik.

DirectX er som navnet antyder, direkte adgang til hardwarelaget.

Der udover er jeg ening, dx er noget lort, men et nødvendigt onde.

Synes også det er lidt faldt af gutten, at han brokker sig, men ikke kommer med en løsning.

Det er dog ærgeligt, at der ikke umiddelbart er nogen løsning på problemet.
Gravatar #22 - RMJ
21. mar. 2011 11:45
10 gangere pænere ville også være lidt vildt, har AMD selv Crysis 1 på PC :P

Hvis vi skal have 10 gange pænere kræver det vi for software som kan udnytte 64bit 100% og alle de cpu kerner vi har?

Er alt det pga directx ? så uden directx ville vi have 100% udnyttelse af 64bit og 8+ cpu kerne 100% ?

Mig bekendt er det stadig uhyre svært at lave spil til multi cpu'er og samtidigt få noget rigtig ydelse ud af det.

Men de må vel komme med et alternativ, er da ikke nemt at skifte noget ud, uden at have noget bedre til at erstatte det ?.

Vi har jo også allerede Unlimited Detail til pc, det er unlimited hvad mere end unlimited kan man forlange? sjovt nok har vi ikke hørt mere om det, hverken Nvidia eller AMD var særlig interesseret i Unlimited detail, fordi de skulle da hvis havde kontaktet dem begge.
Gravatar #23 - Windcape
21. mar. 2011 11:49
RMJ (22) skrev:
Hvis vi skal have 10 gange pænere kræver det vi for software som kan udnytte 64bit 100% og alle de cpu kerner vi har?
"pænt" er hvad du kalder for textures, shadows og lightning.

Lightning og Shadows kan optimeres meget. se bla. ray tracing. Textures har nået et relativt max for nu, men de færreste pc'er har alligevel nok ram til ikke at skulle bruge lavere kvalitet textures til ting i distancen.

Resten af oplevelsen afhænger af fysikken i spillet. Altså hvordan du oplever det. Susen i vinden, grene der knækker, græs der folder mens du går i det, og langsomt kommer tilbage op.
Gravatar #24 - pvt.hudson
21. mar. 2011 12:11
Heh..det er ikke mere end 2 uger siden at John Carmack skrev at Opengl har tabt til directx. http://www.bit-tech.net/news/gaming/2011/03/11/car... :)
Gravatar #25 - spejlkugle
21. mar. 2011 12:14
Windcape (20) skrev:
Jeg ville hellere om AMD producenterne ville skrive nogle bedre drivere, så der ikke altid er børnesygdomme de første 18 måneder, på alle deres kort ting.


Fixed that for ya :)

Åbenbart er det efterhånden almen skik, at bruge sine slutbrugere som beta-testere, så børnesygdomme slipper vi nok desværre ikke for. Det mindste de så kan gøre er at vedligeholde skidtet og komme med opdateringer når den bagvedliggende software bliver fixet. Specielt ASUS er slemme til at låse folk til deres egne versioner af drivere, som så bliver EOL'et når de laver en ny version af kort/laptop/whatever.....
Gravatar #26 - Medallish
21. mar. 2011 12:14
Moog (7) skrev:
Hvad er der i vejen for at AMD selv nosser sig sammen til at lave et API der både er nemt at skriv til og mere effektivt som også virker med Nvidias hardware (Så udviklere ikke skal skrive det samme to gange)?


Riiight, måske AMD skulle tænke før de taler...

Mon ikke lige du skulle tage det roligt? hvis du rent faktisk læser hvad der står og ikke bare reagere på titlen med dine egne fordomme om hvad AMD mener, så vil du se at AMD pointere noget ud som er helt rigtigt, og de støtter også DirectX, de pointerede bare ud at som DX er nu kan det ikke gøre brug af alt hvad grafikkort har at byde på.

Tror det her er lidt et prik til Microsoft om at SW ikke følger HW særlig godt, og inden folk bliver fornærmet så kan man fint pointere sådan noget ud uden at skulle starte sin egen API og outperform MS, seriøst.
Gravatar #27 - nezz_dk
21. mar. 2011 12:15
jeg har nu heller ikke set et spil på konsolen der ikke har set bedre ud i PC udgaven, og at et konsol spil køre 1080p eller 720p er noget vås i de fleste tilfælde, man kan tydligt se at de strækker grafikken, bare for at kunne få, TV til at sige at det køre 720p / 1080p.

PC spil har flere pixels der skal renderes, bruger for det meste en højere grad af antialiasing, det er ikke så nødvendigt på en konsol da man for det meste sidder på længere afstand af skærmen.

og textures er også langt bedre kvalitet på PC, da konsollerne har en meget begrænset hukommelse.

men hvis producenterne har et problem, kan de så ikke lave en linux distro, der kan bootes fra en DVD / Blu-ray, der så har understøttelse for grafikkortet, mus, tastatur, netværk, osv. mens alt det unødvendige er skåret væk. så må der da komme fart over feltet :-)
Gravatar #28 - Unbound
21. mar. 2011 12:15
#16
EvE Online har da udskiftet hele deres graphics engine. Og dele af den er vidst enda mere end en gang. Hvad angår din disc, så kan den jo heller ikke bruges til noget i dag, den skal alt andet lige, alligevel opdatere.
Gravatar #29 - Talkar
21. mar. 2011 12:25
#28
Det er heller ikke umuligt, bare ekstremt bøvlet :)
Angående disks, så kan den da sagtens bruges til noget i dag, du kan da installere grundspillet, og så som du selv siger opdatere derfra. Og jeg vil sige der er forskel på om man skal hente 4gb patches eller hele spillet (10-12 gb, kan ikke helt huske hvad den fylder xD )
Gravatar #30 - nielhardt
21. mar. 2011 12:40
#29
WoW fulder pt. næsten 33 GB på min computer herhjemme. Jeg ved dog ikke hvor mange gamle patch filer som stadigvæk måtte ligge iblandt de andre filer.
Gravatar #31 - Windcape
21. mar. 2011 12:43
#30

28gb standardstørrelsen pt. med alt det overflødige fjernet.
Gravatar #32 - Talkar
21. mar. 2011 13:07
#30&31
Holy shitfuck on a stick xD
Gravatar #33 - Mnc
21. mar. 2011 13:08
#30,31

Min installation fylder blot 25 GB.
Slet "Updates" mappen og lad launcheren hente de nødvendige 20-30 MB der vil mangle.
Gravatar #34 - terracide
21. mar. 2011 13:11
Åh, Fuddy-duddy...

Det her handler ikke om DX...men AMD's PR for fusion.

Og sjovt som Fuddy nu mener noget helt andet:
http://blogs.amd.com/play/2009/06/02/why-we-should...


Terra - Det er hvad der sker når marketing udtaler sig og ikke programmørere/ingeniøre...a lot of FUD.
Gravatar #35 - dk_picard
21. mar. 2011 13:19
#30&31
WoW fylder ca 15GB Hvis man skærer den ind til benet.
Men da Blizzard har lavet det sådan at den laver kopi af stort set hele spillet, så det kan patches mens man spiller, så fylder det lidt mere.
Gravatar #36 - Alrekr
21. mar. 2011 13:30
-N- (21) skrev:
#2 Finden ved DirectX er at det netop ikke skal igennem "hele" windows :-D


Men du har stadig Windows kørende som sluger performance, right? Var mest det jeg mente ;)
Gravatar #37 - AlienDarkmind
21. mar. 2011 13:33
Det eneste spil jeg kan komme i tanke om der har forsøgt sig at komme med noget som kunne tvinge pc'en i knæ siden Crysis 1 er ARMA2, og det var ren ud sagt bare dårlig optimering..

Købte også nyt gfx kort for et par uger siden, der tjekkede jeg så foreskellen mellem de forskellige Nvidia kort (har 3d vision, så alt andet er no-go), der fandt jeg ud af at benchmark messigt, der er der ikke den store foreskel fra GTX280 til GTX570, det er hovedsageligt strømforbruget der bliver mindre.. Så at give Direct-x skylden er som at skyde skylden på naboen om at ens græs ikke er grønt..
Gravatar #38 - tachylatus
21. mar. 2011 14:58
maghana (11) skrev:
Måske et stunt for at promovere lidt openCL ? :)

Windcape (19) skrev:
DirectX er mere end bare hvad OpenCL tilbyder. Og derudover handler det mere om udviklingsværktøjer, dokumentation, og ordenlige hardware interfaces (ie. drivere).

OpenCL er et beregnings-API, ikke et grafik-API. Det er en standard som har til formål at muliggøre cross-platform, cross-vendor stream programmering på heterogene platforme, I samme stil som CUDA, og er bestemt ikke tiltænkt grafikrendering.
GPU accelereret beregning kan også opnås ved at bruge shaders i DirectX/OpenGL, hvor data overføres vha. texture og/eller vertex buffers.

Gravatar #39 - terracide
21. mar. 2011 15:15
#38:
Du skulle kigge på hvad CUDA laver i Just Cause 2...for det er bestemt grafik relateret ;)
Gravatar #40 - Aron
21. mar. 2011 17:14
Alt ondt, er altid lavet med gode hensigter... Hvilken er grund til, DirectX er en god & ond flaskehals ^^

Desuden kan AMD ikke selv komme med noget bedre. Sikkert der for de brokker sig, som altid XD
Gravatar #41 - -N-
21. mar. 2011 18:32
#38+39

Det er vil princippet i at det er et api der køre over flere generationer og nedarver det gamle standarder som er problemet.

Så et hvert api der ikke bliver skabt specifikt til en DX generation er vel noget hø i forhold til hans udtalelser?

Hvilket så også gælder CUDA, Open-alt-muligt osv.
Gravatar #42 - Eidolon
21. mar. 2011 19:17
Kan huske i gamle dage til LANs, hvor man fik at vide at hvis man brugte NETbeui kunne man enten vælge at tage hjem eller afinstallere den.

Ikke alt hvad der kom fra Microsoft var en fordel.

Jeg er egentlig ret ligeglad med om DX er en flaskehals, så længe ingen har overvejet fornuftige alternativer og er begyndt at implementere dem, ser jeg ingen grund til at tænke mere over det.
Gravatar #43 - Oculus
21. mar. 2011 20:12
BlackFalcon (14) skrev:
#12
De har da lige udgivet et nyt kapitel i december 1010 - hvad forhindrer dem i at følge med tiden? :)
Deres kunder.

Rigtigt rigtigt mange af dem, har ikke opdateret hardwaren siden WoW launchede.

De kan ikke bare opgradere deres grafik-motor, uden at tænke ekstra meget over scalability, når en meget stor del af brugerne enten a) er personer der spiller på hardware, hvis primære funktion ikke er at være en spilplatform, og derfor ikke opgraderes i takt med udvikingen indenfor spilmarkedet, eller b) er personer som ikke selv er ansvarlige for computer indkøb i hjemmet ( f.eks husmødre og unge tweens/early teens der får stillet gammelt hardware de "arver" af forældre/søskende til rådighed. ).

– og hvorfor skulle de lægge ekstra kræfter i dette, når grafikken aldrig har været et salsargument for WoW?

WoWs art direction er temmelig tilforladelig når det kommer til hvor store resource-krav den stiller til hardwaren. Og det er en ikke lille sten i spillets success generelt, og i særdeleshed penetrationen udenfor det traditionelle gaming segment; som har gjort at WoW har et 2-cifret millionantal brugere, hvor selv de mest succesfulde "klassiske" gaming MMOer, knap kan mønstre bare en enkelt eller en halv million.
Gravatar #44 - Windcape
21. mar. 2011 20:20
#43

WoW har måske også den engine som skalere bedst på hele markedet.

Unreal Engine er den eneste anden engine jeg kan tænke på, som har skaleret ligeså godt igennem tiden.
Gravatar #45 - Bllets
21. mar. 2011 20:23
Eidolon (42) skrev:
Kan huske i gamle dage til LANs, hvor man fik at vide at hvis man brugte NETbeui kunne man enten vælge at tage hjem eller afinstallere den.

Ikke alt hvad der kom fra Microsoft var en fordel.

Jeg er egentlig ret ligeglad med om DX er en flaskehals, så længe ingen har overvejet fornuftige alternativer og er begyndt at implementere dem, ser jeg ingen grund til at tænke mere over det.


NETbeui kom fra Sytek udviklet til IBM netværker :)
Gravatar #46 - nioxic
21. mar. 2011 22:05
Ithaca (1) skrev:
Bliver det ikke ret besværligt at lave mainstream-software, hvis det skal passe til specifikt hardware/chipset?

Og hvordan står evt. eksisterende åbne standarder i forhold til DirectX, når der er tale om hardwareudnyttelse?


Well hvis en PC er op til 10 gange hurtigere end en PS3, så behøver man vel ikke opgradere sin pc hele tiden, som man skal nu?

xboxen er da en... 6-8 år gammel og den følger sgu fint med pc'en synes jeg.

jeg er stadig imponeret over hvad en skrammelkasse med 256mb ram kan klare.. :p
Gravatar #47 - Oculus
21. mar. 2011 22:46
Windcape (44) skrev:
#43

WoW har måske også den engine som skalere bedst på hele markedet.
Medmindre WoW har high-end settings med DX 10 og 11 features, der udnytter de nyeste generationer af gfx-kort, så tror jeg ikke at vi taler om det samme.

Jeg har dog ikke haft WoW installeret i 3-4 år, så det kan da sagtens være deres engine har fået en opdatering.
Gravatar #48 - Windcape
21. mar. 2011 23:02
#47

WoW har DirectX 11 på eksperimental plan lige nu, så jo.

For at køre WoW i dag med alting på Ultra, i en raid scene, skal du faktisk bruge noget temmelig nyt hardware, helst fra Q3 eller Q4 af 2010, eller nyere.

Det er altså morsomt hvor mange der udtaler sig om grafikken i WoW, og så har de alligevel ikke spillet det på Ultra i årevis. Tror folk stadigvæk at det er anno 2005?
Gravatar #49 - carbonic
21. mar. 2011 23:36
Dette er sikkert et utrolig dumt spørgsmål, men hvorfor kan man ikke give adgang til den underliggende hardware samt også give adgang via DirectX og så lade udviklere selv vælge?
Gravatar #50 - Windcape
22. mar. 2011 00:28
#49

Det gør man allerede.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login