mboost-dp1

unknown

Hvad vil spil få ud af dualkerne processorer

- Via Tom's Hardware - , redigeret af Pernicious

AMD og Intel er på markedet med deres dualcore-processorer, men hvor meget idé er der i at købe en på nuværende tidspunkt, hvis man f.eks. har i sinde at spille computerspil med processoren?

Toms Hardware Guide har taget en kig på sagen og indtil videre ses der ikke nogen større ydelse i spil, sammenlignet med singlekerne processorerne. Ifølge AMD og Intel vil dette snart ændre sige, men THG er ikke så optimistiske og forventer at der vil gå mindst et år, måske to.





Gå til bund
Gravatar #1 - drbravo
9. jul. 2005 15:52
Nogen der kan forklare lidt om hvordan en graifkchip er bygget op?

En GF6800 har 16 paralelle pipelines - hvordan bliver arbejdsbyrden fordelt imellem dem?
Gravatar #2 - cacba
9. jul. 2005 15:57
Lidt forkert gruppe???
Gravatar #3 - Dreadnought
9. jul. 2005 16:00
WOW! Sikke et chok! Men THG er langt fra virkeligeheden når de siger at der måske går op til to år. Det første skridt mod bedre udnyttelse af multikerner kommer med nVidias kommende ForceWare 80 drivere.
Gravatar #4 - CableCat
9. jul. 2005 16:32
SMP support skal desinges fra starten, det ikke noget man kan tilføje senere uden at skulle skrive alt om.
Gravatar #5 - Onde Pik
9. jul. 2005 16:40
#3

Og dog. Tag nu nvidias pressreleases omkring ydelsesforbedring med et gran salt. 5% til 30% betyder ofte et par procent i spil, men i nærheden af 30% i specielle test hvis eneste formål er at vise en forbedring.

Faktum er at man for at drage nytte af ting som dualcore CPU'er i spil, bliver man nødt til at basere udviklingen af spillet på brugen disse. Det tager langt tid at udvikle spil og det vil bestemt ikke bliver hurtigere af at man skal multithreade sin spilmotor. Det er de færreste spilproducenter der i øjeblikket er igang med at udvikle spil optimeret til multikerne systemer.

Jeg synes det er modigt at påstå at THG er "langt fra virkeligheden" i deres estimat. Specielt når du basere din viden på en pressemeddelelse fra Nvidia.

#1

GPU'er virker meget anderledes en CPU'er. Når der er tale om 16 pipelines menes der ikke 16 fysiske pipelines. Det er istedet et mål for hvor mange pixel operationer af forskellige slags kortet kan foretage på et pass gennem pipelinen. Derfor kan man ikke rigtig tale om at arbejdsbyrden bliver "fordelt" imellem de forskellige pipelines. (Jeg antager at du mener dette i forhold til multitreading hvor arbejdsbyrden kan blive delt ud på forskellige kerner)
Gravatar #6 - hatten
9. jul. 2005 17:07
Man skal bare spille flere spil samtidigt, så er der performance boost at hente.
Gravatar #7 - NFX
9. jul. 2005 17:18
#6:
Jah, nogle gange kan det jo ske at man både vil have Doom 3 og The Sims 2 i gang på samme tid :)

Så kommer de nok til at slås om ram og grafikkort (medmindre der sidder 2, vel), men pyt med det.
Gravatar #8 - Christi
9. jul. 2005 17:21
Jeg kan nu godt se det kan bruges til spil, som hvis man spiller flere spil af gangen, som #6 nævner, hvilket jeg faktisk selv gør ind i mellem.

Warcraft3 er genialt til at spille samtidigt med andre, da det intet cpu kraft bruger når det er minimeret, men stadig kører videre, hvorimod WoW bruger 100% ligemeget om det er minimeret eller ej.
Gravatar #9 - drbravo
9. jul. 2005 17:26
#2

Jeg læste artiklen - der er et interview med en ATI gut der begynder at snakke om grafikchips - derfor spurgte jeg.

#5

"We have been producing multi-core processors for five or six years now, ever since we've had multiple vertex pipes or multiple pixel pipes," ATi's Huddy says . "If you were able to X-ray it, you could pick out the four quad pipes on one of our processors and see them as physically distinct."


#8
Hvad spiller du sammen med warcraft3 så? Eller spiller du 2 x war3?
Gravatar #10 - BurningShadow
9. jul. 2005 17:49
Undskyld mig lige et øjeblik, hvis jeg spørger dumt, men hvorfor er det lige, at spil-producenterne er så langt bagefter, at de ikke engang har fattet at det er en god ide, at lave spil der understøtter mere en en CPU/core?

Det virker, for mig, totalt latterligt at de bruger sindsygt mange penge, på at lave et spil, og så er det ikke engang multithreaded..
Hvad er det dog for nogle mennesker???
Gravatar #11 - sago007
9. jul. 2005 17:51
Når jeg tænker på at få en maskine med dualcore, tænker jeg ikke at spillene skal overtage begge kerner. Men jeg har tit problem med at alle baggrundsprocessor stopper når jeg spiller, da baggrundsprocessorne bruger idle tiden.

Alt hvad jeg forventer af en dualcore processor er bedre multitasking, så jeg ikke skal være ked af mine baggrundsprogrammers ydelse når jeg spiller

Jeg syndes i øvrigt ikke det er dumt at spilproducenterne ikke allerede er begyndt at optimere til dual core. Der bliver stadig solgt PCer, som kun har en single core processor. Da levetiden på en PC er ca. 2-3 år, og multithreadede programmer yder dårligere end single threadede programmer, på en single core, vil multithreadede spil motorer, sætte mange mennesker rigtigt langt tilbage
Gravatar #12 - Norton
9. jul. 2005 18:09
Weee dobelt så fed grafik, halv så godt gameplay...
Gravatar #13 - IsaackRasmussen
9. jul. 2005 18:22
#10

Det er langt fra alle programmør der kan finde ud af at skrive til Dual core/cpu. Det kræver en masse tilvænning og anderledes tankegang og de har i forvejen travlt nok.

Hvis du husker, så legede Carmack med SMP i Quake 3. Han dokumentere det meget detaljeret. Men siden har han droppet det.

Det er også blevet lidt anderledes nu med de moderne GPUer der kan tage sig af meget af arbejdet. Jeg har ingen indsigt i hvad moderne spil bruger deres tid på. Men det kan sagtens være at der ikke bliver lavet nok AI/physics/lyd til at mætte Dual cores.

Den lineær måde man behandler alle "levende" objekter i et spil er svære at splitte ud i flere tråde uden at miste hastighed eller kun få nogle få procent forberedelser ud af det.
Jeg tror at der skal anderledes tankegang til, måske noget lignende transactions fra databaser.
Gravatar #14 - Christi
9. jul. 2005 18:38
#9 det er nu meget forskeligt, dog for det meste War3 og cs.

war3 når man er død i cs, men self skal det ikke være en bane i war3 man skal koncentrere sig om hele tiden :)
Gravatar #15 - Dreadnought
9. jul. 2005 20:01
#5 Det er meget muligt, men det ændre dog ikke ved at der kan laves 4 tråde ud fra AI, fysik, lyd og grafik, hvilket der mere eller mindre ser ud til at der allerede er i flere spil. HL1 foreksempel fordeler sig ca. 40/60 på et dual CPU system. Altså er der 80% ydelse der nemt burde kunne hentes.

#1+9 En GPU har groft sagt en processor som sørger for arbejdsfordelingen til de 16 specialisered slave processorer (pipelines). Lidt i stil med Cell som har en stor multipurpose processor og 8 små processorer.
Gravatar #16 - jesus christensen
9. jul. 2005 21:22
Hejsa All

Dual core eller ikke, det gør ingen forskel for mig. Jeg vil have maksimal ydelse til det mindst mulige strømforbrug. Den der hardware debat om hvad der er hurtigst i forhold til prisydelse er menigsløs uden at tale om strømforbrug. Hvis du alligevel skal betale 5-600kr ekstra om året (efter du har købt hardware) Så er det lidt ligesom at købe en mobiltelefon der er betinget af et abonnement. Den formelle pris divergerer afgørende fra den reele pris. Dertil kommer at grafikkort osv bruger mere og mere strøm.... Jeg synes at konkurrencen på Cpu og Gpu markedet er selvdestruktivt og jeg mener at visionen med computere som en integreret del af alt ting har lange udsigter. Tænk hvis samtlige computere i verden kørte med en 500wat psu. Og målet alene var at følge de skizofrene Counterstrike Fans der mener at være forfulgt af lags på 1 frame pr second. Fuck deres dual core og fuck deres hyperthreading, giv os noget mere af Dothan/centrino måden at gå efter.
Gravatar #17 - neckelmann
9. jul. 2005 21:26
2005 game developers conference snakkede Tim Sweeney en masse om Unreal Engine 3 (den næste generation af Unreal motoren) -- se den første video. Utroligt interessant synes jeg :)
Et af spørgsmålene fra publikum bagefter er hvordan han vil understøtte dualkerne CPU'er. Til det snakker han en masse om at det helt klart er noget der vil blive understøttet på lavt niveau, men at det er yderst kompliceret og blah blah blah. Det lyder lidt som om at det ikke er noget han rent faktisk har lavet endnu, og det primært bare er blah blah :)
Til slut nævner han at det kræver utroligt mange ekstra mandetimer at debugge kode der udnytter de nye CPUer fuldt ud, og at det i mange tilfælde bedre kan betale sig at bruge arbejdskraften på andre ting, i stedet for at presse de sidste 10% ydelse ud af koden.

Off-topic: En af de andre videoer viser et foredrag af Will Wright (The Sims, osv), hvor han præsenterer hans kommende spil Spore. Det er fuldstændigt sygt sejt :-O
Gravatar #18 - jesus christensen
9. jul. 2005 21:36
I forlængelse af #16 En Mitsubishi Lancer Evo4 kører fra en Lamborghini Muriolago men bruger dobbelt så meget energi(brændstof og KUN en special V-power mix) Men den er billig at anskaffe....Der kører heller ikke så mange V8ere i DK....
Gravatar #19 - spacefractal
10. jul. 2005 01:13
Problemet kan også ligge en i række begræsninger i DirectX teknologien, der ikke tillader multithreaded direkte. Så vi skal nok vente en ny version af DX, før det kan blive udnyttet ordnetligt.

Dark Basic og Blitz Basic understøtter ikke dual core, men Pure Basic kan, sålænge det IKKE bruges i DirectX sammenhæng.

Så mit gæt, at det er alt for besværligt med nuværende version af DirectX, pga det meget ringe dualcore support....
Gravatar #20 - folmer
10. jul. 2005 07:10
En dualcore er vel egenligt ikke noget man skal koncentrere sig om på nuværende tidspunkt hvis det eneste man laver på sin spand er at spille. stort set alle tests på anandtech, tomshardware og hothardware viser, at dualcore performer lineært ud fra clock frekvens sammen med single core (dvs. ingen performance gains).
#19 tror jeg har fat i noget af det rigtige. Jeg tror osse det i høj grad er op til MS at optimere DX og gøre det langt mere programmørvenligt.

#15 hvad snakker du om? Kan bedre forstå #18's indlæg :)
Gravatar #21 - darth_sheep
10. jul. 2005 09:45
jeg synes ikke det her er en nyhed mere et link til en test
Gravatar #22 - Azjo
10. jul. 2005 10:21
Er der overhovedet nogen spil der understøtter dual core på nogen måde endnu? Ikke så vidt jeg ved but who knows.
nu vi er ved emnet må i gerne fortælle hvilke spil der snart kommer, understøtter dual core :)
Gravatar #23 - Redeeman
10. jul. 2005 11:59
quake3 kan sgu da køre på smp, der er ihvertfald en officiel smp binary til linux, og jeg tvivler på at de har hevet det ud af deres kode da de lavede doom3, derfor har de nok holdt det ved lige, så man kan tro at doom3 også har support for det
Gravatar #24 - Bundy
10. jul. 2005 12:02
#15: Prøver du at sige at HL1 understøtter SMP?

#22 : Quake3 gør, men det gav vidst ingen eller negativ ydelse.


Tænk hvis samtlige computere i verden kørte med en 500wat psu. Og målet alene var at følge de skizofrene Counterstrike Fans der mener at være forfulgt af lags på 1 frame pr second.

Ja, men det gør de ikke, og det er det ikke. Fuck strømforbrug, fuck hippies, MORE POWER.
Gravatar #25 - kasperd
10. jul. 2005 12:08
[url=#19]#19[/url] spacefractal
Problemet kan også ligge en i række begræsninger i DirectX teknologien
Kan man så ikke bare bruge OpenGL i stedet for? Så vidt jeg ved er det OpenGL, der anvendes på vores Silicon Graphics monstermaskiner med hhv. 4 og 10 CPUer.
Gravatar #26 - Mr.DNA
10. jul. 2005 12:23
Mon ikke først vi ser ordentligt dualcore support i forbindelse med Longhorn. Der skulle vist også komme en ny DircectX (WGF). U2K7 motoren skulle vist være den første der udnytter dualcore "effektivt", og som også skulle understøtte PhysX PPU'en. Med spil der bliver udviklet på flere platforme med samme motor, giver det vel god mening at når både PC'er og konsoller skifter til fler kerne systemer så gør motoren det også.
Gravatar #27 - spacefractal
10. jul. 2005 13:51
#25 Det skulle man mene, selvom at det idag er en del af DirectX (jeg huske at MS købte det i sin tid?). Det er meget muligt at det understøtter det bedre.

Det er dog stadig op til programmøren at undestøtte Multi Threads fra starten af.
Gravatar #28 - coday
10. jul. 2005 15:07
hvad så vis man har udviklet et spil til dualcore hvad gør dem der har singelcore så? kan de stadig køre det?
Gravatar #29 - BurningShadow
10. jul. 2005 15:15
#28

For at et spil kan benytte en dual core CPU, kræves der bare at det er multithreaded, og om du kører alle threads på en CPU/core er sådan set ligegyldigt (for eksekveringen, ikke for ydelsen), så Ja, du kan sagtens kører multithreaded spil på et single CPU/core system.

Hjemme hos mig, er både OS og alle (native) programmer multithreaded, og det kører aldeles udemærket på et single CPU system.
Gravatar #30 - Regus
10. jul. 2005 15:44
#15
Det lyder mest som resultatet af almindelig schedulering uden cpu affinity... Den bruger jo ikke mere end hvad svarer til en cpu, den bliver bare ligesom alt andet jævnligt pre-emted og så ender den mere eller mindre tilfældigt på den første cpu der bliver ledig.
Gravatar #31 - Onde Pik
10. jul. 2005 18:07
#15


Det er nu ikke rigtigt at GPU'er er så modulært opbygget. Et godt eksempel på dette er NV30 GPUen fra Nvidia. (GF 5xxx) Denne GPU troede man i et stykke tid var en 8x1 konfiguration ligesom den den daværende flagskibschip fra ATI (R300). Men det viste sig at den nogengange opførte sig som en 4x2 konfiguration.

8x1 betyder at der er 8 pipelines med en TMU (texture map unit)på hver. Og 4x2 betyder naturligvis så at der er 4 pipelines med 2 TMU'er på hver.

Ideen med at have mere end 1 TMU på hver pipe opstod i forbindelse med at man begyndte at bruge multitexturing. Faktisk lavede ATI deres første radeon kort med 3 TMU'er på hver pipe, men der var ikke rigtig nogen udviklere der valgte at udnytte mere end de 2. Derfor klarede Radeon kortet sig dårligere i praksis end i teorien.

Efterhånden er man stoppet med at fokusere på multitexturing og de seneste chips fra Nvidia og ATI har da også kun haft en TMU per pipe.

Anyway. I nv30 tilfældet viste det sig at man ikke rigtig kunne opfatte hardwaren som 8x1 eller 4x2, men man gør det dog stadig fordi "det giver mening" selvom det ikke er så simpelt i virkeligheden.
Gravatar #32 - Dreadnought
11. jul. 2005 00:08
#24 Det jeg prøver på at sige er at HL1 ikke begrænser sig til en processor.
Gravatar #33 - ChrashOverride
11. jul. 2005 09:11
Meget unskyld jeg har ikke set mange spil som understøtter Dual CPU pc'er dog siger jeg ikke at spilenede går ned pga der sidder 2 CPUer i maskinen men jeg har endnu ikke set et spil som understøtter dette.

Grunden til at jeg ikke har set det eller tror at der er mange spil som understøtter disse maskiner er at de er ikke udbredte nok til at spille producenten har lyst til at bevæge sig ind på dette område.

Dog kan det være at der ligger noget load Balancing system i operativ systemet som ser på hvor meget belastning der er på processoren og der efter deler arbejdet ud på bægge processor for at skåne dem, men dette er ikke en feture i spillet snare en feature i OS.
Gravatar #34 - mrmorris
11. jul. 2005 10:38
#33 Korrekt. Problemet med dual-kerne (for i alt fald Windows software) kan bedst analyseres når man husker på hvordan Windows event-model hænger sammen (forsimplet):

Et program starter op og træder efter noget initiering, ind i et loop og kører her for evigt. I loopet findes en stor switch sætning som hele tiden tager et kig på inputkøen (mus, keyboard, beskeder til vinduer osv.) og derefter tager dem en efter en og bearbejder dem ud fra timeslice der er tildelt for hver applikation.

Spørgsmålet er jo så, hvordan skal denne ekstra kerne benyttes? Skal dispatcheren for OS'et bare frit vælge, skal den vælge én kerne og dedikere denne til dispatching og den anden til det hårde arbejde (master-slave)? Set ud fra den sidste model, passer Cell CPU'ens design faktisk bedre da den har 8 "arbejder bier" som konstant kan checke ind og få tildelt nyt arbejde.

Så før quad-core med delt cache, tror jeg det bliver svært rigtig at udnytte optimalt for samme process.
Gravatar #35 - JiveFive
15. jul. 2005 11:28
Så vidt jeg ved, så er der en del problemer med dual kerner i forhold til netop spil. Det største problem er, at to kerner netop fungerer som to separate kerner og derfor betyder det egentlig bare, at computeren kan udfører to separate processer på samme tid. Men i et spil vil det typisk give nogle store timing problemer, da hændelserne skal være tæt synkroniseret i forhold til hinanden og da de to kerner er separate, er det stort set umuligt, at styrer hvilke processer, der bliver færdige hvornår.

Jeg ved godt, at det vil være at gnide salt i såret hos alle dem, der har købt dual kerner udfra en forventning om helt vilde performance boosts i deres spil, men helt praktisk er det penge ud af vinduet, hvis man ikke arbejder i et desktop miljø med flere programmer på en gang eller f.eks. 3D rendering osv.

Selvfølgelig vil man have fordelen af, at kunne kører et spil på den ene cpu og alle baggrundsprogrammer på den anden, så de ikke tager plads fra spillet. Men igen er det nok de færreste, der vil opleve en ydelse, der står mål med investeringen.

Hele problemet ligger tungt hos cpu producenterne, der hellere vil dele deres cpu'er fremfor at presse en enkelt kerne yderligere og for en desktop bruger er der også fordele at hente. Men for spilfolket er dette bestemt ikke en fordelagtig udvikling.

Men som #33 nævner, så er f.eks. cell processoren helt optimal i forhold til spil, for her bliver de enkelte operationer delt ud til specialiserede cpu'er, der laver slavearbejdet og sender resultatet tilbage til den centrale kerne, der styrer processen. Det ironiske er, at dette koncept netop er, hvad der gav f.eks. Amigaen en stor styrke i forhold til spil (back to the roots ;o).
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