Gå til innhold

Uncharted bruker bare 30% av SPU kraften


hidden_dragon

Anbefalte innlegg

Videoannonse
Annonse
*snip*

 

Fint at noen har forstått litt av det det dreier seg om. Så langt er jeg svært skuffet over den elendige utnyttelsen av SPEene, men jeg mistenker at det kommer av at multicore-programmering tradisjonelt har vært et område som ikke har vært særlig benyttet i spill-industrien. Dermed er distribuert programmering og prosessering noe spillutviklerne og -studioene sitter med lite og ingen kompetanse på. Det som derimot irriterer meg litt er all klagingen over at det er så vanskelig å lage gode spill til PS3, nettopp fordi den har såpass svak PPE og mange SPEer (for forklaringer av disse termene, se wikipediasiden om cell). Dette er i grunn godt gammeldags Horseshit™. Det er i grunn ikke vanskelig, man må bare planlegge for det og sette opp prosesseringsbudsjett som tillater fordeling av oppgaver utover flere kjerner. Dette ser vi gjøres i noen grad på eksklusiver, mens man for multiplatformspill velger lettvinte løsninger. Og, naturligvis, for multiplattform er det lett å bare velge det felles multiplum for XBOX360 og PS3: én prosessor. Begge har riktignok flere (X360 har tre og PS3 har totalt ni (men ikke alle disse er tilgjengelige for programmerne). Problemet er at sideprosessorne er såpass ulike at de ikke kan løse identiske problemer på helt identiske måter, og da velger bare LATE utviklere å droppe alle sideprosessering og satse på hovedprosessoren. Og da skjer det dårlige ting med spill til PS3.

 

Jeg er ekstremt skuffet over at spill som PES2008 faktisk lagger på PS3. Dette er prakteksempel på spill der SPEene kunne vært brukt til simulering av publikum, keeper, medspillere, ballbane og masse annet snacks, men istedet velger de å knøle inn mest mulig på hovedprosessoren. Dette skyldes to ting: tid og penger - man er interessert i å pushe ut titlene raskest mulig til flest mulig platformer.

 

Når det er sagt håper og tror jeg kompetansen på flerkjerneprogrammering kommer etterhvert, og at vi da kommer til å se fantastiske resultater på både X360 og PS3. Spesielt tror jeg PS3 kommer til å nyte godt av dette, da mesteparten av styrken dens ligger i de ekstra prosessorene.

 

Folk kan si hva de vil om at Wii er den eneste next gen-konsollen, men jeg er helt uenig. Wii er en gammel konsoll med en ny kontroller, XBOX360 og PS3 er nye konsoller med state-of-the-art hardware og masse avanserte kontrollere. Revolusjonen i Wii ligger i forretningsmodellen og delvis i kontrollerne, så får hver enkelt for seg definere "next gen".

 

Edit:

- Beklager hvis det er masse skrivefeil og ufullstendige setninger over, sitter på skolen og har ikke tid til å lese over det.

- Hvis noen vil ha mer informasjon om arkitekturen i PS3, mener jeg å huske at jeg skrev en lengre post om dette tidligere. Hvis noen har tid, så er det bare å bruke søkefunksjonen :).

 

Edit2 (blir litt ivrig):

Fant en interessant quote på tidligere refererte wiki-side:

"Despite having Turing complete architectures, the SPEs are not fully autonomous and require the PPE to prime them before they can do any useful work. However, most of the "horsepower" of the system comes from the synergistic processing elements."

 

Det vil si at SPEene ikke gjør noe arbeid uten at PPEene instruerer den til det, det vil i praksis si at programmerne selv må fordele oppgaver på SPEene (altså at det ikke er noen automatisk lastdeling mellom kjernene). Hvilket burde være en god ting, fordi det gir programmerne kontroll, men som ikke ser ut til å være det fordi de ikke vet hvordan de skal kontrollere dem.

Endret av Defekt
Lenke til kommentar
eh ... Grafikken på Ps2 ble vel strengt tatt ikke bedre og bedre? Heller det motsatte spør du meg. Kom mye rusha ultrakomersielle tiltler i den siste tiden med grafikk på PS1 nivå.

Omg har du i det hele tatt eid en PS2?

Playstation konsollene har alltid hatt en rå grafisk utvikling fra start til slutt.

Se på Onimusha og Onimusha 4, en ENORM forskjell.

 

Final Fantasy X og XII.

 

Imotsettning til PC bransjen der de utvikler til nytt hardware hele tiden, fokuserer konsollutviklere på å lære seg triks med konsollen over en langtidsperiode og får til slutt veldig bra resultater.

 

Samme gjaldt for PS1, se på Tekken 1 og Tekken 3 du.

Lenke til kommentar

@Defekt

 

Jepp, tenk på PPE-en som sjefen som skal delegere oppgavene til de 7 SPE-ene (arbeiderne). Dessverre gjør slappe programmerere det slik at sjefen gjør all jobben selv, mens arbeiderne får fri.

 

Skrev forøvrig en artikkel om Cell på universitetet for noen år siden.

Endret av kilik
Lenke til kommentar

PS3 for min del er en Blu-ray spiller, skal jeg spille så blir det Xbox 360 eller PC.

 

Vet ikke hvorfor jeg har fått PS3 spill opp i halsen, men sikkert takket være den evige skryten og hvor bra den skulle bli til fiasko. Warhawk er en av de få spillene jeg virkerlig liker til PS3.

Endret av VistaGames
Lenke til kommentar

Som en programmerer selv, så vet jeg hvordan det er å gå over fra å programmere til en helt enkel enkjerneprosessor til et flerkjernesystem.

 

Noe av det artigste jeg har gjort, er å lage et "straight-forward" databasesystem med tre forskjellige web-frontends (for kunder, for management og for ansatte), som kjørte veldig bra på single core 3 GHz.

 

Så flyttet jeg det over til en server jeg fikk tilgang på, og plutselig gikk alt sinnsykt tregt. Den nye serveren var nemlig en Sun server med 32(!) kjerner, og grunnet at jeg hadde skrevet tingene i python, ville det ikke skalere ut over en enkelt kjerne på grunn av noe som heter GIL (Global Interpreter Lock). Resultatet var "back to the drawing board" for meg, og jeg endte opp med en helt annen arkitektur.

 

Den nye arkitekturen var bygget opp fra grunnen av til å være distribuert og lastbalanserende, og etter å ha fyrt det opp på serveren gikk ting sinnsykt mye fortere enn jeg kunne drømme om på enkjerneprosessoren jeg hadde. Og som bonus kunne jeg benytte flere servere (selv på fysisk forskjellige plasser) for å få redundans. Og om en ting gikk ned, falt ting tilbake til neste av samme type som var oppe. Skikkelig stabile greier, og fantastisk mye mer strukturert enn mitt førsteutkast.

 

Men det var en læringsprosess i det hele. Tok tid å finne ut hvordan jeg skulle få det parallellisert skikkelig. For det er ikke bare å kappe det opp i småbiter, pga dataavhengigheter. Men sluttproduktet ender med å være bedre, rent objektivt sett (selv også på enkjerneprosessorer, som det begynner å bli få av, siden multicore on chip har tatt over det meste nå).

 

Dette er en prosess mange spillprogrammerere enda ikke har kommet seg helt igjennom. Selv Crysis-folkene gikk på en smell der (med at de ikke klarte å utnytte juicen i en quad-core prosessor). Men det er absolutt ikke uovervinnelig. Det er bare å slutte å tenke så serielt som en kanskje er vant med fra å ha kodet i 1970-årene med en-tråds funksjonell programmering (</sleivspark>), og tenke litt mer sånn som en gjør i den virkelige verden.

 

"Hey, jeg stikker på butikken for å handle. I mellomtiden, kan du ta å dra på skolen, skrive ut dette for meg, og stifte det fint sammen til jeg er tilbake?". For det er det det handler om.

Lenke til kommentar

Sånn litt på siden, er det noen som vet om det er automatisk lastdeling mellom Xbox360-kjernene? Eller skrives spillene bare til hoved-CPUen der også? Har lært litt om arkitekturen til 360 også en gang i tiden, men det gikk ganske fort i glemmeboken da jeg synes Cell var mye mer spennende :D.

Endret av Defekt
Lenke til kommentar
PS3 for min del er en Blu-ray spiller, skal jeg spille så blir det Xbox 360 eller PC.

 

Vet ikke hvorfor jeg har fått PS3 spill opp i halsen, men sikkert takket være den evige skryten og hvor bra den skulle bli til fiasko. Warhawk er en av de få spillene jeg virkerlig liker til PS3.

 

så du sier ps3 er en fiasko? forstod ikke helt innlegget:p

Lenke til kommentar
Slike % angivelser for hvor mye krefter spill bruker høres rimelig latterlige ut. Hvordan i svarte måler de det? Og hvis de er klar over det hvorfor tar de ikke i bruk fler %?

 

Når skal spill ta i bruk 75-100% da?

 

Er da vel veldig lett å måle det. Om SPU'ene ikke er i bruk så er det 0 %, om alle 6 SPU'ene er i bruk halvparten av tiden så er de 50 % utnyttet. I dette tilfellet er kanskje ca 4 Spu'er i bruk i halvparten av tiden. Hmm forsto alle hva jeg mente :p

Lenke til kommentar
Er da vel veldig lett å måle det. Om SPU'ene ikke er i bruk så er det 0 %, om alle 6 SPU'ene er i bruk halvparten av tiden så er de 50 % utnyttet. I dette tilfellet er kanskje ca 4 Spu'er i bruk i halvparten av tiden. Hmm forsto alle hva jeg mente

Får påpeke for å hjelpe de treigeste: "Det er snakk om 30% av SPU-kraft, ikke 30% av PS3s kraft." Med andre ord: Lett målbart.

Endret av Geofrank
Lenke til kommentar
Får påpeke for å hjelpe de treigeste: "Det er snakk om 30% av SPU-kraft, ikke 30% av PS3s kraft." Med andre ord: Lett målbart.

 

Forøvrig er det slettes ikke vanskelig å måle bruk av CPU i et multithreaded OS - man ser bare på hvor mange av CPUsyklene som brukes! Hvorvidt OSet på PS3 faktisk er multithreaded skal jeg derimot ikke uttale meg om ;).

Lenke til kommentar
Sånn litt på siden, er det noen som vet om det er automatisk lastdeling mellom Xbox360-kjernene? Eller skrives spillene bare til hoved-CPUen der også? Har lært litt om arkitekturen til 360 også en gang i tiden, men det gikk ganske fort i glemmeboken da jeg synes Cell var mye mer spennende :D.

Den trekjerners-prosessoren i X360 fungerer som en PC-prosessor. Med andre ord er de tre kjernene like. Ingen hovedkjerne som er ment til å styre de andre. OS-et kan vel til en viss grad fordele arbeidsoppgaver, men også her er det nok mest opp til programmererne. Men ingen tvil om at X360 er lettere å utnytte enn PS3 da man ikke har noen spesialiserte kjerner. Den ligner også mer om PC-arkitektur som de fleste programmererne kjenner godt til fra før.

 

Også verdt å nevne minnehåndteringen. X360 er cachebasert og har ett stort unified grafikk/RAM-minne som gjør at programmererne i stor grad slipper å tenke på minnehåndtering. På Cell har grafikkortet sitt eget minne mens alle SPE-kjernene har sitt eget lokale minne som må håndteres manuelt (ikke cache).

Endret av kilik
Lenke til kommentar

Insomniac, den andre Sony-utvikleren som har imponert grafisk i høst med Ratchet & Clank, sier følgende:

 

The amount of action we're able to put on the screen at 60 frames per second really dwarfs what we were able to do a year ago at 30 frames per second...I think we'll see just as big a leap from our second generation engine to our third as we did from the first to second.

 

I think we're going to continue seeing major leaps each year in what people are able to do with the machine for at least three or four more years.

Link

Lenke til kommentar

Jeg bare bare et lite spørsmål, er det noe stor nytte i å konstant si "å det og DET spillet og ikke minste DETTE spillet bruker BARE 30 prosent av PS3's kapasitet". Er det en slik evigvarende prosess for å minne seg på at man kanskje over tid får noe ENDA bedre.

 

Om utviklerne kjenner til prosentkraften, og tydelig hvordan den skal utnyttes, hvorfor utnytter de da ikke de resterende 70% og knuser der og da?

 

Fordi de vet ikke, de kaster et tall ut i luften og lar det ligge. Som å fiske med flue, du kaster snøret med fluen ut på det åpne hav/vann og venter til en fisk kommer og sluker kroken. Så blir snører dratt inn og det som venter deg der inne er en sylskarp kniv og en stekepanne.

 

Man vet hvor mye man har teknisk i en konsoll, men man vet ikke hvor mye man kan presse ut av den. Tweaker her, frigjør litt resurser som man kan bruke på et annet felt som gjør at man kan få bedre rsultat.

 

Så kort oppsummert. Man har gode tider forran seg uten tvil. Men nå er jeg litt smålei av X antall "Jeg untytter kun litt av konsollen" tråder, eller dens motstander "de bruker bare så mye av konsollen jeg hater" tråder.

 

PS: Det bildet det ble linket til i førsteposten, om det skulle være et forsøk på overbevisning så er jeg overbevist på det stikk motsatte. Beklager men life in plastic grafikk ble ikke populært med Doom 3.

Endret av Bear^
Lenke til kommentar
Jeg bare bare et lite spørsmål, er det noe stor nytte i å konstant si "å det og DET spillet og ikke minste DETTE spillet bruker BARE 30 prosent av PS3's kapasitet". Er det en slik evigvarende prosess for å minne seg på at man kanskje over tid får noe ENDA bedre.

 

Om utviklerne kjenner til prosentkraften, og tydelig hvordan den skal utnyttes, hvorfor utnytter de da ikke de resterende 70% og knuser der og da?

 

Fordi de vet ikke, de kaster et tall ut i luften og lar det ligge. Som å fiske med flue, du kaster snøret med fluen ut på det åpne hav/vann og venter til en fisk kommer og sluker kroken. Så blir snører dratt inn og det som venter deg der inne er en sylskarp kniv og en stekepanne.

 

Man vet hvor mye man har teknisk i en konsoll, men man vet ikke hvor mye man kan presse ut av den. Tweaker her, frigjør litt resurser som man kan bruke på et annet felt som gjør at man kan få bedre rsultat.

 

Så kort oppsummert. Man har gode tider forran seg uten tvil. Men nå er jeg litt smålei av X antall "Jeg untytter kun litt av konsollen" tråder, eller dens motstander "de bruker bare så mye av konsollen jeg hater" tråder.

 

PS: Det bildet det ble linket til i førsteposten, om det skulle være et forsøk på overbevisning så er jeg overbevist på det stikk motsatte. Beklager men life in plastic grafikk ble ikke populært med Doom 3.

Sånn jeg har forstått denne tråden og det Naughty dog har sagt så handler det ikke om at et spill kan utvikles til å blir 70% bedre, det er snakk om en Bench test av SPE-ene som da har gitt ND disse tallene også har ND sammenlignet det med hva Uncharted bruker av SPE kraft. Blir vel som å ta en Benchmark test på pc sin for å så sammenligne dette mot f.eks Battlefield 2 for å se om Pc-en kan klare mer enn hva spille utnytter den for.

 

Dette vil ikke nødvendigvis ikke bety bedre spill, bare spill som kan utnytte mer av prossesor kraften i Playstation 3.

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...