Gå til innhold

GPU mysteriet til Playstation 3


Straffa

Anbefalte innlegg

Til moderatorer og andre lesere:

Denne tråden er ikke ment å sette PS3 i dårlig lys, eller som en X360 propaganda

 

Til saken:

Det er en del snakk på diverse forumer hvorfor en del multiplatform spill til PS3 er dårligere grafisk på PS3.

Grunnen til at jeg sammenligner spillene mot X360 er kun fordi begge er Next Gen konsoller, og det har blitt laget multiplatform spill til konsollene.

 

-Noen mener at det tar tid å optmalisere spillene til PS3, grunnen Cell arkitekturen

-Noen mener hardwaren er for svak

-Noen mener 256 MB GPU ikke er nok. Cell har totalt 512 MB med system og GPU

 

Forskjellen mellom PS3 og X360

-Cell prosessor

-GPU har 256 MB

-Samarbeid mellom GPU og Cell

 

I am just going to give you a simple and short as answer as I can manage for now...

 

There is no EFFECTIVE means of the Cell/RSX to address each other's memory pools. This is because of architectural issues and design. One such issue is the Cell's EXTREMELY slow read rate from the RSX's GDDR3 is a MISERABLE 16MB/sec (yes thats MEGABYTES/second... not a typo). Reference this slide below...

 

 

 

This effectively means there is no EFFECTIVE means for the Cell to use the RSX's memory pool as it frankly can not use that memory for anything with memory bandwidth that poor. Now in regards to the RSX using the Cell's memory pool...

 

Let me first state that THIS IS AN ABSOLUTELY BAD IDEA.

 

...and is such for the following two main reasons (though there are other reasons):

 

Firstly you only have 256MB of SYSTEM memory and of that 64MB is reserved for the OS. That effectively leaves you with 192MB of SYSTEM memory for other things related to the game. Know that graphics data typically consumes a good deal of memory and ANY space you allocate from the system memory further reduces the memory and bandwidth (from the Cell's memory AND the interconnect) you can use for the game itself. Let me stress that SYSTEM memory is more important than GRAPHICS memory in regards to the amount of space you need for game enviroments and the less SYSTEM memory you have available the smaller the enviroments will be and the less detail you can put into those enviroments, not to mention fewer objects. Understand that what I am referring to IS NOT graphical detail as you have to track objects and have an enviroment for the player to run around in. Secondly it is a bad idea for the RSX to use the Cell's memory pool is that latency issues will absolutely DESTROY graphics performance trying to address data from the Cell's memory (remember you are trying to address across multiple memory controllers and buses and will be in contention with Cell's traffic.)

 

Lastly... the specifications for the RSX is 500Mhz GPU and 650Mhz GDDR3.

 

In any case there are workarounds for some of the architectural flaws in the design, but it will be awhile before developers get around to figuring out solutions and even still there will be some things that frankly can't be solved.

 

*EDIT* Ah sorry did not address your last question about "HOW" they can address each other's memory pool. In the XBox360 basically the GPU is the northbridge and any memory request from the CPU goes through the GPU to (via a 128-bit memory controller crossbar) memory (if need be) and this allows both the CPU and GPU in the XBox360 to easily share the same memory pool. In the PS3 the Cell has it's own memory controller and the RSX also has it's own. The Cell's memory controller can only directly address it's own memory pool and the RSX's memory crossbar can only directly address it's own memory pool. IF you was to attempt to address each other's memory pools then one of the processors would send a "request" to the other processor for a piece of data and then when the processor gets around to executing that request it sends it back to the other processor that requested it. Because you have to "request" it instead of directly addressing the data a large penalty in latency is added to the process and this reduces overall performance. Here is a small ASCII diagram...

 

XBox360

 

------>>>------>---->>>---------

|CPU|----|GPU|-|MC|----|GDDR3|

------<<<------<----<<<---------

 

-LEGEND-

CPU : Xenon

GPU : Xenos

MC : Memory Controller

GDDR3 : Xenos Memory Pool (GDDR3@700mhz(DDR))

 

Playstation 3

 

------>---->>>------

|CPU|-|MC|----|XDR|

------<---->>>------

\/\//\/\

--------

|FlexIO|

--------

\/\//\/\

\/\//\/\

\/\//\/\

------>---->>>---------

|GPU|-|MC|----|GDDR3|

------<---->>>---------

 

-LEGEND-

CPU : Cell

GPU : RSX

MC : Memory Controller

XDR: Cell Memory Pool (XDRAM@400mhz(ODR))

FlexIO : Cell interconnect

GDDR3 : Xenos Memory Pool (GDDR3@650mhz(DDR))

 

Sorry... I didn't want to spend the time to make an actual picture showing this, but this ASCII form should work enough.

 

Long story short is though... trying to force either the RSX or the Cell to use the other's memory pools is really asking for trouble and the system is better off KEEPING those memory pools seperate as the memory design is quite different than the XBox360's memory design.

 

La oss diskutere emne og ikke om X360 eller PS3 suger

Send gjerne en PM til meg om det er noe du ønsker å si som ikke egner seg på trykk i denne tråden

 

Alle geeker er velkommen til å svare :)

Endret av avanore
Lenke til kommentar
Videoannonse
Annonse

Vel i bunn og grunn. Alt blir laget for en mening. Tror ikke folka bak PS3 gjorde noe tillfeldig for dem fikk en oppgave som måttes fort i trykk. Gi PS3 litt tid så vil den skinne like mye som de andre konsollene. ( Jeg er en stolt eier av Xbox360, så ikke kom og kast fanboy snakk på meg.)

 

Eneste problemet jeg kan se, som The bad guy. Er DVD/BlueRay rom`et. At de ikke kan levere nok MB i sekundet. Som vil gi litt lengere loade tider, "glitches" som mange kaller det.

 

Dette er vel det eneste som har ligget nesten urørt nå i 5år, og mer. Og kansje på tide og gjøre noe mer..

Lenke til kommentar
Vel, GPU i PS3 har tilgang til potensielt 512MB Ram, siden denne har tilgang på systemminnet i tillegg til GPU-minnet. Forskjellen blir da i så fall at OS'en i PS3 ikke har tilgang på 512MB Ram, slik X360 har. Det er vel ikke noe mysterie, bare en forskjellig arkitektur mellom PS3 og X360.  :)

7420708[/snapback]

 

Slikt jeg forsår det vil det gå veldig tregt om PS3 må bruke system minne til GPU.

Alt over 256 MB må GPU låne minne av CPU (Cell)

There is no EFFECTIVE means of the Cell/RSX to address each other's memory pools. This is because of architectural issues and design. One such issue is the Cell's EXTREMELY slow read rate from the RSX's GDDR3 is a MISERABLE 16MB/sec (yes thats MEGABYTES/second... not a typo). Reference this slide below...

Endret av avanore
Lenke til kommentar

Alt dette er sant avanore, og jeg skal ikke påstå noe annet heller. Men det hadde vært interessant å vite hvor mye minne GPU'en i X360 spiser når man kjører Gear of War. Det at spillet i seg selv bruker mer enn 256MB Ram sier ikke så mye siden X360 har unified memory. CPU'en tar nok en del den også når den blant annet regner ut fysikken i spillet. MEN, det er godt mulig at GPU'en trekker mer enn 256MB, jeg har ikke tallene.

 

Edit: du må ikke redigere så mye, nå svarte jeg jo på noe du fjernet, hehe. For the record, jeg er ikke ute etter å starte noen X360 vs PS3 tråd jeg heller. Jeg synes begge konsollene har vist stort potensiale. :)

Endret av ChaosPredicted
Lenke til kommentar
Alt dette er sant avanore, og jeg skal ikke påstå noe annet heller. Men det hadde vært interessant å vite hvor mye minne GPU'en i X360 spiser når man kjører Gear of War. Det at spillet i seg selv bruker mer enn 256MB Ram sier ikke så mye siden X360 har unified memory. CPU'en tar nok en del den også når den blant annet regner ut fysikken i spillet. MEN, det er godt mulig at GPU'en trekker mer enn 256MB, jeg har ikke tallene.

 

Edit: du må ikke redigere så mye, nå svarte jeg jo på noe du fjernet, hehe. For the record, jeg er ikke ute etter å starte noen X360 vs PS3 tråd jeg heller. Jeg synes begge konsollene har vist stort potensiale.  :)

7420785[/snapback]

 

Prøver å holde meg så nøytral som mulig, så jeg fjernet delen som hadde med X360 å gjøre :)

Lenke til kommentar

Good deal avanore. En ting jeg lurer på, det står:

 

One such issue is the Cell's EXTREMELY slow read rate from the RSX's GDDR3 is a MISERABLE 16MB/sec (yes thats MEGABYTES/second... not a typo

 

Altså hvis CPU'en skal ha tilgang på GPU-minnet går dette veldig tregt, slik forstår jeg dette. Går dette begge veier? Er det 16MB/sec hvis GPU'en skal ha tilgang på systemminnet også? Trodde forøvrig at det bare var GPU'en i PS3 som hadde tilgang til systemminnet, og ikke motsatt, mulig det er meg som roter her... :hmm:

Lenke til kommentar
Alt dette er sant avanore, og jeg skal ikke påstå noe annet heller. Men det hadde vært interessant å vite hvor mye minne GPU'en i X360 spiser når man kjører Gear of War. Det at spillet i seg selv bruker mer enn 256MB Ram sier ikke så mye siden X360 har unified memory. CPU'en tar nok en del den også når den blant annet regner ut fysikken i spillet. MEN, det er godt mulig at GPU'en trekker mer enn 256MB, jeg har ikke tallene.

 

Edit: du må ikke redigere så mye, nå svarte jeg jo på noe du fjernet, hehe. For the record, jeg er ikke ute etter å starte noen X360 vs PS3 tråd jeg heller. Jeg synes begge konsollene har vist stort potensiale.  :)

7420785[/snapback]

 

 

spillet krever ihvertfall at totale minnet i boxen er mer enn 256, for det var Epic som fikk MS til å gå for 512, de hadde opprinnelig tenkt å gå for 256. på meg virker det hvertfall som om 360 har smartere arkitektur.

Lenke til kommentar
Good deal avanore. En ting jeg lurer på, det står:

 

One such issue is the Cell's EXTREMELY slow read rate from the RSX's GDDR3 is a MISERABLE 16MB/sec (yes thats MEGABYTES/second... not a typo

 

Altså hvis CPU'en skal ha tilgang på GPU-minnet går dette veldig tregt, slik forstår jeg dette. Går dette begge veier? Er det 16MB/sec hvis GPU'en skal ha tilgang på systemminnet også? Trodde forøvrig at det bare var GPU'en i PS3 som hadde tilgang til systemminnet, og ikke motsatt, mulig det er meg som roter her...  :hmm:

7420852[/snapback]

 

Er nok en skrivefeil der. Spill som kreves mere enn 256 MB, må GPU låne av system minnet.

Lenke til kommentar

Visste ikkje at GDDR3en i 360 hadde kjappare klokkehastighet enn PS3 sin GDDR3.

 

Og, Chaospredicted, såvidt eg veit, så er minnet i PS3 delt på den måten at CELL har 256MB, og GPU har 256MB.

 

OS tar opptil 64 av desse, mest sannsynleg frå CELL sin del.

Men, såvidt eg har forstått, så kan ikkje GPU låna frå CPU, og vice versa. Dette pga at det ikkje er 'unified memory architechture'.

Har eg misforstått heile greia?

Lenke til kommentar
Slikt jeg forsår det vil det gå veldig tregt om PS3 må bruke system minne til GPU.

Alt over 256 MB må GPU låne minne av CPU (Cell)

There is no EFFECTIVE means of the Cell/RSX to address each other's memory pools. This is because of architectural issues and design. One such issue is the Cell's EXTREMELY slow read rate from the RSX's GDDR3 is a MISERABLE 16MB/sec (yes thats MEGABYTES/second... not a typo). Reference this slide below...

Med tanke på at innlegget du henviser til i første post tydligvis er basert på denne artikkelen kan man vel spørre seg om vedkommende har den kunnskapen han utgir seg for å ha. Så vidt jeg husker ble artikkelen revet i filler av personer som faktisk hadde greie på Cell og dens arkitektur.

Lenke til kommentar
Med tanke på at innlegget du henviser til i første post tydligvis er basert på denne artikkelen kan man vel spørre seg om vedkommende har den kunnskapen han utgir seg for å ha. Så vidt jeg husker ble artikkelen revet i filler av personer som faktisk hadde greie på Cell og dens arkitektur.

7421335[/snapback]

 

Jeg fant denne artikkelen her

Link

Lenke til kommentar
Good deal avanore. En ting jeg lurer på, det står:

 

One such issue is the Cell's EXTREMELY slow read rate from the RSX's GDDR3 is a MISERABLE 16MB/sec (yes thats MEGABYTES/second... not a typo

 

Altså hvis CPU'en skal ha tilgang på GPU-minnet går dette veldig tregt, slik forstår jeg dette. Går dette begge veier? Er det 16MB/sec hvis GPU'en skal ha tilgang på systemminnet også? Trodde forøvrig at det bare var GPU'en i PS3 som hadde tilgang til systemminnet, og ikke motsatt, mulig det er meg som roter her...  :hmm:

7420852[/snapback]

 

Det går ikke veldig tregt.

 

Cell kan skrive til GPU i svær hastighet, det er fullstendig normalt.

 

Det skjemaet med å lese hva GPU gjør, i 16MB/sec, er bare dersom Cell skulle finne på å dobbeltsjekke at GPU virkelig gjør jobben den får beskjed om å gjøre, eneste funksjonen jeg kommer på i farten det er nyttig at CPU skal lese hva GPU gjør, er under debugging, av forskjellige sub-routiner dersom noen skulle bruke PS3 til å kode med.

Men dette har ikke vært noen naturlig ting innenfor data før. og jeg tror ikke at PS3 vil endre på det, men en fin funksjon er det.

 

Klart det ville være mye bedre dersom CELL hadde hatt rambus-minne, slik som RSX. Men Rambus minne koster mye mere penger enn vanlig GDDR-minne, og CPU trenger ikke samme type minne, da det er først å fremst streaming-funksjoner, som vil dra nytte av såpass raskt minne som Rambus-minnet. :)

 

Så det som kommer til å bli aktuelt, er hvis RSXbegynner å bruke alt rambus-minnet, da kan det spørre memory-controlleren om å få låne ubrukt system-minne.

 

Det at systemet er ueffektivt slik som det blir hevdet i første melding er bare tull, det kunne være ueffektivt hvis du ikke har noe anelse om hvor mye RAM programmet ditt bruker, men det er veldig få programmører som ikke gjør, og ingen av disse ville jobbe i spillindustrien.

 

Han som har skrevet teksten som Avanore referer til må ha vært full, det er ingen forskjell på om memorykontrolleren deler ut til PPE, SPE, eller RSX.

Å kalle FlexI/O kontrelleren for ikke effektiv blir bare for dumt.

Lenke til kommentar

Det 16MB/s-talet trur eg vi skal sjå langt bort ifrå, med mindre vi skal diskutere misvisande bruk av statistikk og er på jakt etter gode døme. Generelt synest eg vi skal sjå langt vekk ifrå alt som først blir trykt i TheInquirer. ;)

 

Når det er sagt, ser eg, med mitt halvkompetente blikk, ingenting alvorleg feil med arkitekturen til PS3 (eg er sivilingeniør i datateknikk, og tillet meg derfor å kalle meg halvkompetent på sånne ting). Om eg hugsar blokkdiagramma riktig, er PS3-arkitekturen litt mindre fleksibel med tanke på korleis ein brukar minnet, men til gjengjeld litt raskare. Dersom nokon gidd å grave fram blokkdiagramma for PS3 og XBox 360 og poste dei her kan eg kanskje seie noko litt meir sikkert. Men uansett, der er nok ingen store feil å finne. Det einaste problemet eg ser med PS3, som programmerar, er at Cell-arkitekturen er ganske langt ifrå dei CPU-ane ein er vant til å programmere for. Eg trur derfor det vil ta ei stund før utviklarane klarar å utnytte han godt. På pluss-sida vil eg tru det er ein spennande arkitektur å lære seg.

 

Ellers må ein hugse på, og dette treng ein ikkje stor teknisk kompetanse for å forstå, at PS3 er utvikla av ekstremt dyktige ingeniørar. Dei gjer ikkje slike katastrofale feil som å gi eit minne ein har behov for å lese ofte har ei lesehastigheit på 16MB/s. Dersom ein av oss her ser ein katastrofal feil i PS3-arkitekturen, er det sannsynlegvis fordi vi har misforstått han. :)

 

Kay

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