[Multy] differenze tra la programamzione su Xbox360 e PS3
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 6 1234 ... UltimoUltimo
Visualizzazione risultati da 1 a 15 di 80

Discussione: [Multy] differenze tra la programamzione su Xbox360 e PS3

Cambio titolo
  1. #1
    Utente L'avatar di ^Azazel^
    Registrato il
    05-05
    Località
    Dove non batte il sole...
    Messaggi
    16.117

    [Multy] differenze tra la programamzione su Xbox360 e PS3

    Programmare su piattaforma Xbox 360
    Il sistema operativo non utilizza il core ‘0’, ma usa circa il 3% della potenza del core ‘1’ e il 3% del core ‘2’, quindi il 98% della potenza dei tre core rimane libera e utilizzabile dalle applicazioni videoludiche. Programmare per 360 è abbastanza semplice e diretto grazie alla quantità di memoria principale condivisa, alla dimensione della cache L2 e al fatto che le informazioni passano molto facilmente e velocemente attraverso i differenti threads dell’applicazione con l’uso dei puntatori.
    Tipicamente un’applicazione viene inizialmente sviluppata utilizzando un solo thread di un core, poi, una volta sviluppata l’appz, il tutto viene segmentato per utilizzare più core e possibilmente anche più threads hardware per ogni core. Il modo più semplice per operare questa segmentazione è quello di assegnare il codice di controllo del gioco e l’AI ad un core e il codce di rendering grafico ad un altro core. Non appena il codice dell’AI è stato eseguito vengono inviate al core di rendering grafico e informazioni per processare il frame successivo. Quindi il codice di rendering grafico eseguito sul secondo core va a creare il frame corrente mentre simultaneamente l’AI esegue il codice necessario al frame successivo.
    Segmentare il codice ulteriormente comincia ad essere molto più difficile. Lo sviluppatore deve anzitutto determinare dove potrebbero formarsi dei colli di bottiglia. Se questi si verificano all’interno del codice AI, dovrà accertarsi che possa essere attuata una processazione parallela (per esempio in un gioco racing, potrebbe essere possibile che il programma principale processi l’AI di 5 auto e un altro core processi l’AI di altre 5 auto sula tracciato contemporaneamnte). Se il collo di bottiglia si verifica invece nel codice della grafica, allora è possibile assegnare parte del codice di rendering in parallelo ad un altro core.
    Quando un programma è suddiviso su tre core, uno dei core è attivo per il 100% del tempo mentre gli altri due possono risultare attivi per poco tempo (10%, 20%, 50%, etc.). In tal caso è richiesta maggior segmentazione sul core occupato al 100%, quindi può essere aggiunto un nuovo thread hardware a uno dei core meno attivi per gestire 2 processi allo stesso tempo. Una volta saturati tutti i threads hardware disponibili, se è necessaria una ulteriore segmentazione, possono essere istanziati dei threads software (che sono comunque meno efficienti di quelli hardware) fino a che anche quel core non raggiunge il 100% dell’occupazione.
    Una volta che tutti e 3 i core hanno un’utilizo prossimo al 100% saranno stati raggiunti il massimo frame rate, la massima sofisticatezza e dettaglio grafico. Se l’AI propone frames più velocemente di quanto la GPU non possa processarne (massimo 60 fps a 720p o 30 fps a 1080i), possono essere aggiunti ulteriori dettagli.

    Programmare su piattaforma PS3

    Programmare per PS3 è molto più difficile di quanto non lo sia su Xbox 360. In un certo senso PS3 è stata progettata in modo simile ai sistemi multi processore utilizzati in ambiti specifici, per esempio al NASA Ames Research Center. Il concetto si basa sul principio che vede un enorme quantità di dati matematici che si ripetono e che possono essere processati in parallelo o sequenzialmente ma spezzettati (per esempio un core moltiplica due array di 10000 numeri e poi passa l’array risultante a un altro core che opera divisioni sui singoli elementi dell’array e ne passa il risultato a un altro core che provvederà ad atre operazioni sui dati e così via; dopo che il primo core ha terminato l’operazione, acquisisce nuovi dati e prosegue su questi con la stessa operazione.
    Così come avviene per Xbox 360, anche qui l’applicazione viene inizialmente sviluppata utilizzando il core PPE. A questo punto sarebbe lecito pensare che la PS3 (come la 360) sia in grado di segmentare il codice assegnando a un core il codice di controllo dell’AI e ad un altro il codice di rendering grafico. Questo non è possibile! Dal momento che il codice vero e proprio di un’applicazione si attesta sui 100 MB e che la memoria di ciascun SPE è di soli 256KB solo 1/400 del codice totale può essere depositato nella memoria di uno SPE. Inoltre poiché in uno SPE non c’è capacità di branch prediction (http://it.wikipedia.org/wiki/Predizi...le_diramazioni) , le diramazioni andrebbero fatte il più piccole possibili. Pertanto il programmatore deve trovare codice che sia inferiore ai 256KB (incluso lo spazio necessario per i dati) prchè questo possa essere eseguito in parallelo.
    Se assumiamo che lo sviluppatore sia in grado di individuare sufficienti segmenti di codice tali per cui tutti e 6 i core SPE vengano utilizzati, adesso dovrà prodigarsi per bilanciare il carico di lavoro tra i cores. Come con Xbox 360, non è detto che i core siano sempre occupati ma è possibile che alcuni o tutti vengano utilizzati solo in minima parte. Aggiungere nuovi thread hardware non è possibile dal momento che ciascun core dispone di un solo thread hardware e agiungere threads software sarebbe probabilmente controproducente vista la memoria limitata. A questo punto l’unica opzione possibile è quella di uno schema che vede il core PPE trasferire nuovo codice agli SPE attraverso DMA, una volta terminate le operazioni sulla tranche di dati precedenti. Questa è ovviamente una procedura che richiede parecchio tempo.

    Conclusioni

    Ho seri dubbi sul fatto che molti sviluppatori programmeranno sui core SPEs della PS3: la complessità è enorme, i tempi di sviluppo sono molto lunghi e c’è un’elevata probabilità di sviluppare software buggato. Sospetto che Gears of War stia già sfruttando le potenzialità del sistema multiprocessore ma che stia solo usando il 50% della potenza realmente disponibile. Alla luce di ciò e di quanto detto sopra mi riesce difficile immaginare che un gioco PS3 possa risultare migliore di uno per Xbox 360.


    nn flammate per cortesia!!!!

    EDIT: dimenticavo.. nn sn cose scritte da me ma da uno ke ne capisce dato ke c lavora^^
    Ultima modifica di ^Azazel^; 4-12-2006 alle 14:26:47


    Xboxlive ID: Azazel85
    PSN id: Aza73l

  2. #2
    Specialista in Esplosivi L'avatar di Jackpot
    Registrato il
    07-06
    Messaggi
    1.888
    metti più paragrafi azza, mi riesce meglio la lettura

  3. #3
    Utente L'avatar di ^Azazel^
    Registrato il
    05-05
    Località
    Dove non batte il sole...
    Messaggi
    16.117
    Citazione Jackpot
    metti più paragrafi azza, mi riesce meglio la lettura
    ce la punteggiatura


    Xboxlive ID: Azazel85
    PSN id: Aza73l

  4. #4
    HiJackThis! L'avatar di miki boss
    Registrato il
    12-02
    Località
    Registro di sistema
    Messaggi
    7.589
    Secondo me i programmatori avranno grosse difficoltà a programmare su PS3. Con l'andare del tempo la situazione migliorerà ma resteranno solo i giochi delle grandi software house, in quanto le case più piccole non possederanno le risorse finanziarie per un progetto PS3.



  5. #5
    Big BaAG
    Ospite
    Non leggo tutto, però ne prendo atto, tanto ho capito cosa intende. Vedemo.

    P.s. Azazel, quindi ammetti di non capirci?

  6. #6
    Bannato
    Registrato il
    03-05
    Località
    Roma{Crashdown}
    Messaggi
    10.143
    L'ho letto settimane fa', non mi pare che venga affermata qualche cosa nuova.Le solite cose insomma...

  7. #7
    Utente L'avatar di ^Azazel^
    Registrato il
    05-05
    Località
    Dove non batte il sole...
    Messaggi
    16.117
    Citazione Big BaAG
    Non leggo tutto, però ne prendo atto, tanto ho capito cosa intende. Vedemo.

    P.s. Azazel, quindi ammetti di non capirci?
    d non capire cosa

    Citazione east coast
    L'ho letto settimane fa', non mi pare che venga affermata qualche cosa nuova.Le solite cose insomma...
    quanto meno è detta d auno ke c lavora e nn c saranno piu' questione su ki l'ha piu' lungo


    Xboxlive ID: Azazel85
    PSN id: Aza73l

  8. #8
    Mezzala L'avatar di frankie85
    Registrato il
    02-05
    Località
    Asti
    Messaggi
    57.278
    fonte?

  9. #9
    Specialista in Esplosivi L'avatar di Jackpot
    Registrato il
    07-06
    Messaggi
    1.888
    Citazione ^Azazel^
    ce la punteggiatura
    che centra, troppe righe assieme e mi va insieme la vista ,non riesco a leggere

  10. #10
    Bannato
    Registrato il
    03-05
    Località
    Roma{Crashdown}
    Messaggi
    10.143
    Citazione ^Azazel^
    d non capire cosa

    quanto meno è detta d auno ke c lavora e nn c saranno piu' questione su ki l'ha piu' lungo

    Bene e allora?

  11. #11
    Big BaAG
    Ospite
    Citazione ^Azazel^
    d non capire cosa
    Citazione ^Azazel^
    EDIT: dimenticavo.. nn sn cose scritte da me ma da uno ke ne capisce dato ke c lavora^^

  12. #12
    Utente L'avatar di ^Azazel^
    Registrato il
    05-05
    Località
    Dove non batte il sole...
    Messaggi
    16.117
    Citazione east coast
    Bene e allora?
    Citazione ^Azazel^
    quanto meno è detta d auno ke c lavora e nn c saranno piu' questione su ki l'ha piu' lungo
    *


    Xboxlive ID: Azazel85
    PSN id: Aza73l

  13. #13
    Bannato
    Registrato il
    03-05
    Località
    Roma{Crashdown}
    Messaggi
    10.143
    Citazione ^Azazel^
    *
    Ripeto, allora? Non e' la prima volte che viene affermata questa cosa "detta d auno ke c lavora ".

  14. #14
    Specialista in Esplosivi L'avatar di Jackpot
    Registrato il
    07-06
    Messaggi
    1.888
    /cattivello on

    LA maggiore facilità di programmazione di 360 rendera quindi strada spianata ai giochi spazzatura che hanno preso strada su ps2?

    Ps3 resterà quindi polo per giochi complessi e per chi ha i fondi?

    /cattivello off


    non te la prendere azza

  15. #15
    Mezzala L'avatar di frankie85
    Registrato il
    02-05
    Località
    Asti
    Messaggi
    57.278
    Intanto io continuo ad aspettare una risposta...chi ha scritto queste cose?per chi lavora?

    grazie!

Pag 1 di 6 1234 ... UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •