Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 28 reacties
Bron: TechGage

Daags nadat Havok pc-software presenteerde waarmee een gpu rekenwerk van de cpu kan overnemen, heeft Ageia laten weten dat het op het punt staat een PhysX-SDK voor de PlayStation 3 uit te brengen. De 2.4-versie van de software van Ageia moet gamedevelopers in staat stellen om de parallelle functionaliteit van de Cell-processor volledig uit te buiten. De Cell is gebouwd rondom een centrale processor, de PPE, die bij het gebruik van conventioneel ontworpen software het meeste werk te verzetten krijgt. Door de acht SPE's die de chip bevat aan het werk te zetten, kan de PPU tot vijftig procent minder te doen krijgen, zodat er uiteraard tijd overschiet om andere problemen aan te pakken.

Ageia-logo Het schrijven van software die de afzonderlijke onderdelen simultaan aan het werk kan zetten is echter vers twee, maar met Ageias software zouden ontwikkelaars het een stuk eenvoudiger krijgen. Het bedrijf, dat binnenkort ook met een PPU voor pc's verschijnt, is enthousiast over de samenwerking met de consolefabrikant. 'Physics-berekeningen zijn de volgende grote uitdaging in computerland', juicht het persbericht dat de twee partners uitgaven, 'en met hulp van Ageia zal de PlayStation 3 de grenzen verleggen.' Insiders verwachtten oorspronkelijk niet dat Sony de eerste maanden of zelfs jaren over goede multithreaded software voor de Cell zou kunnen beschikken. Volgens Ageia is het belangrijkste werk nu echter gedaan, al mag verwacht worden dat de concurrentie met bedrijven als Havok de lat in de komende tijd nog flink hoger zal leggen.

Cell-cpu
Een Cell-processor. Duidelijk herkenbaar zijn de acht identieke SPE's

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (28)

Altijd al afgevraagd hoe dat nu precies zit met publishers als EA die games uitbrengen voor alle platformen: Xbox, PC, PS2, Gamecube.

Ik kan me voorstellen dat Xbox/PC wat code betreft redelijk te porten moet zijn omdat het allebei pc hardware is. (intel 800 cpu geloof ik in zo'n xdoos).

Maar hoeveel % van de code zou nu opnieuw geschreven moeten worden als men ineens een game wil ombouwen voor de PS3 met zijn cell-architectuur ? :)
De situatie is niet dat iemand een spel ontwikkeld voor een bepaald platform en dan opeens tjakka, heej , laten we het ook voor een ander platform ontwikkelen.

Ze houden er van te voren rekening mee. In theorie hoeft dat helemaal geen probleem te zijn. Je brengt gewoon meerdere abstractie lagen aan. Bijvoorbeeld een kleine core set routines die met de hardware praten, met daarnaast 99% van je code die niks hardware specifiek doet.

Maar dan is het nog een immens karwei. Geen van de hardware (pc, ps2, ps3, xbox) praat in termen van 3d-werelden, phyics, etc. De hardware zelf biedt over het algemeen een erg minimale set operaties aan.

Maar zelfs dat is alweer een abstractie. De hardware zelf is zelf namelijk weer opgebouwd uit nog een minimalere set operaties: namelijk een. (ja, precies 1!). De transistor. Je kunt elk mogelijk algoritme maken door transistors te koppelen. Maar een Half-Life2 engine maken als hardware dmv transistors zou dan theoretisch mogelijk zijn: het is een onmens karwei en niet bepaald schaalbaar (hoe update je dat? ehm niet!)

Dat in de praktijk het lastig is om spellen voor meerdere hardware en software platformen te ontwikkelen is dan ook vaak opzet van de fabrikant. Ze leveren bewust een eigen api (abstractie-laag) die alleen op hun eigen hardware draait.

Daarnaast komt met elke abstractie laag een performance prijs. Stel dat op verschillende hardware verschillende core operaties verschillende performance hebben. Dan gebruik je dus een algoritme dat gemiddeld wel aardig draait, terwijl andere (functioneel gelijkwaardige) algoritmes misschien voor specifieke hardware sneller zouden zijn. Een mooi voorbeeld waar dit merkbaar is Java. De generiekheid van de logica achter het de code uit zich in slechtere performance.

Een nog extremer voorbeeld is brute-force hardware emulatie. Wat vooral geschikt is om ongeplande portabiliteit te verkrijgen. Je hebt dan nog steeds machiene specifieke code, maar je 'interpreteert' het dan op een andere machiene en simuleert het gedrag. En ja, dat is zo langzaam als het klinkt.

Daarnaast baseren de meeste game-corps hun games op 3rd-party api's zoals de Unreal Engine. De unreal-engine zelf is netjes volgens de idee-en hierboven over abstractie in elkaar gezet, en bevat dus ook 1 klein software module'tje dat per platform verschilt. De games-fabrikant zelf werkt dan met Unreal Script, dat platform onafhankelijk is, en wel praat in termen van natuurkunde weten, 3d-werelden, etc.

Een alternatieve technologie die af en toe opduikt is trouwens template-based (generatieve) programming. Waar je niet een programma schijft, maar een programma dat een programma genereert (ben je er nog?). Zie ook http://www.program-transf...GenerativeProgrammingWiki
Die techniek duikt nu ook in web-ontwikkeling dmv Ruby on Rails bijvoorbeeld.

De playstation Cell technologie is trouwens minder moeilijk te gebruiken dan er door sommige (slecht-geschoolde?) programmeurs wordt beweerd, mits er gebruik wordt gemaakt van een declaratieve programmeertaal waar elke functie zich wiskundig gedraagt (gegeven dezelfde input altijd dezelfde output).

Dat soort functies kun je inherent parrelel uitvoeren zonder problemen. Object-georienteerd daarintegen is heel moeilijk parrelel (of zelfs concurrent) te maken: juist doordat de object state mogen bevatten. Maar ook dat begint een minder groot probleem te worden nu de hardware steeds betere primitieven voor message-passing begint te leveren. (Wat op hetzelfde neer komt als declaratief programmeren en de state stiekem rondgeven als argument aan elke functie. Dit zie je nog terug in programmeertalen zoals python, waar je $this mee krijgt als eerste argument)

Meer informatie over referentiele transparency:
http://en.wikipedia.org/w...ct_%28computer_science%29
http://en.wikipedia.org/wiki/Referential_transparency

Het komt in ieder geval erop neer dat alle delen van een programma die referentieel transparant zijn, inherent gewoon parrelel kunnen worden uitgevoerd zonder dat de werking hiervan op welke manier dan ook anders zal uitpakken.

Denk aan een wiskundige formule ala (a / a) * (b x b) .. waar de sub-expressies (a / a) en (b x b) door een aparte chip zouden kunnen worden uitgerekent. (alle wiskunde is per defintie referentieel transparant)

Nou is het wel zo dat niet alle algoritmes parralel sneller kunnen worden. Denk dan bijvoorbeeld aan de wiskundige formule (a * (b * (c - d))). Waar je eerst (c - d) moet uitrekenen, om (b * (c - d)) uit te rekenen, waarna je pas weer (a * (b * (c - d))) kunt weten.

Mits goed gebruikt zijn alle superlatieven van Sony over hoe goed de performance van de PS3 zal zijn, dan ook niet overdreven. In plaats van een dure, snelle chip, die een-voor-een commando's uitvoert, een hele zooi goedkopere, langzame, chips die tezamen veel meer informatie kunnen verwerken. Het zou wel eens veel goedkoper veel meer rekenkracht kunnen opleveren.

De wiskunde die bij 3d graphics komt kijken is overigens juist heel geschikt voor parralelisme. Gegeven een view-port en een zooi shaders staat de bereking van elke pixel op zichzelf (en kan dus parrelel plaats vinden). Alle 3d kaarten die op dit moment op de markt zijn dan ook op dit princiepe gebaseerd.

En dat je die truuk en zo'n chip dus alleen voor 3d graphics zou kunnen gebruiken is dan ook klinkklare onzin. Er is niks 3d specifiek aan een 3d kaart en waarom dat ding niet allang onze main CPU vervangen heeft? Joost mag het weten! Misschien iets met geld, aandelen, backward-compatibility met oude software, corruptie of regelrechte zwendel.

Maar Sony dus niet, die begrepen het wel, hulde! Het is slechts een kwestie van tijd voordat je desktop-cpu ook op deze wijze in elkaar steekt.
Wat een openbaring! Geweldige post! Ik vraag mij enkel af hoe het dan zit met de XBOX360 zijn hardware of deze concurrentiëel is tegenover de structuren waar Sony mee voor de dag wil komen...
Van een XBox/PC game naar PS3 met cell-architectuur wordt een vrij intensieve klus. Waarbij een hoop herschreven zal moeten worden. Andersom zal het wellicht een stuk eenvoudiger zijn, wanneer PhysX een emulator voor de x86- en/of IBM 'Broadway' (NR) achritectuur aanbiedt, zodat spellen ontwikkeld voor de cell-architectuur, makkelijk te porten zijn naar andere platformen.
PhysX\Novodex is een Physics API met verschillende reken backends. Zo is er dus een software backend, PhysX PPU insteek kaart backend and een PS3 backend. Voor de programeur is het allemaal hetzelf, het maakt geen ruk uit. Op de PC word de software backend gebruikt en als de PhysX PPU aanwezig is word die gebruikt. Spellen die PhysX gebruiken hoeven dus niet perse een PhysX PPU te hebben.

Het zou mij overings niet verbazen als Ageia binnenkort met een rekend backend uit komt die ook de GPU misbruikt zoals de nieuwe Havok.
Game herschreven worden is misschien een beetje te breed. Je kunt meestal gewoon textures/plots/events/geluiden etc overnemen, wat veel tijd scheelt. :)
ik denk dat de PS3 de spellen intern klaar stoomt zodat ze met de cell architectuur omkunnen gaan.
ik denk dat de PS3 de spellen intern klaar stoomt zodat ze met de cell architectuur omkunnen gaan.
Dat weet ik wel zeker van niet.

Parallel programmeren is niet een triviaal iets dat je wel even automagisch kan laten doen. Het hele ontwerp van je applicatie moet er rekening mee houden, en lang niet alles is te paralleliseren.

De PS3 is op papier een heel erg krachtige machine, maar die kracht benutten is door zijn ontwerp erg moeilijk.
Best interresant de technologie. Ik ben zelf razend enthousiast over de technologie, maar ik ben eigenlijk nu wel eens benieuwd naar de werkelijke prestaties van zon chip.

Ze hebbben namelijk alleen uitspraken gedaan en nergens is nog een test gedaan met zo'n chip/kaart. Hoe kunnen we nou weten of het een hype is of het daadwerkelijk werkt :?
Ik zou zelf zeggen dat de "prestaties" mij niet zo veel meer interesseren .. het realisme daarentegen wel.
De vraag is meer merk je het verschil tussen goed gesimuleerd en slecht gesimuleerde physics echt en maakt het verschil voor je spelplezier?
Zoja juich ik dit toe.
Zonee ach dan is het wel grappig.

Let wel: Een fake arcade game kan een veel leukere gameplay hebben immers dan een realistische wannabe sim. En van meer Frames per seconden of Nog meer poligonen wordt een spel niet leuker van .. mischien wel mooier maar niet per definitie leuker!
Van een hogere framerate wordt een spel niet per definitie leuker, maar een te lage framerate kan dan weer desastreus zijn voor het spelplezier.

Meer realistische physics in spellen kan toch alleen maar toegejuichd worden? Een spel kan er in elk geval zeker leuker op worden, indien men de physics goed implementeerd.
Ik zeg altijd: "the more fragdolls the merrier". Nou, altijd is wel overdreven hoor, soms durf ik nog wel eens iets anders uitkramen.
"Hoe kunnen we nou weten of het een hype is of het daadwerkelijk werkt"

Dat kun je nooit. Het is grote mate afhankelijk van de kunde en onkunde (en budget) van de games-fabrikant.

Technisch gezien is het mogelijk veel meer berekeningen te laten uitvoeren, maar zoals ik al in m'n post hierboven heb aangegeven vereist dit wel een andere aanpak.

Het is niet script-kiddie vriendelijk en er zullen sterke tools en api's voor moeten ontwikkeld worden die de honderd-uit-een-dozijn programmeurs kunnen gaan gebruiken.

Deze PhysX-sdk, in dit news-item beschreven, is daar een voorbeeld van. Het gebruik maken van de parrelelisme die de Cell processor aanbiedt vereist nou eenmaal betere programmeurs en meer programmeer-tijd en budget dan dezelfde software voor een 1-chip architectuur. De beschikbaarheid van een goeie API die door alle games fabrikanten gebruikt kan worden is dan ook een vereiste. Het zal te duur zijn om voor elk spel zelf dit te gaan ontwikkelen. (dat was het zelfs al op de 1-chip architectuur)

Maar meten kun je het dus niet echt. De hardware potentie is geweldig, maar emperische metingen zouden dus wel eens iets heel anders kunnen gaan zeggen, simpelweg omdat er nog wel degelijk budget beperkingen omtrend ontwikkelkosten van de engines die op de PS3 moeten gaan draaien. Het zou wel eens zo kunnen dat dat nu de bottleneck wordt.
Wat ik jammer vind is dat met name Sony en Microsoft met hun nieuwe consoles steeds meer realisme proberen na te bootsen. Echtere werelden, graphics en physics. Ook lijkt er steeds meer een verweving te zijn van spellen en speelfilms.
Dit vind ik een gemiste kans omdat juist bij spelletjes de grenzen eindeloos zijn qua fantasie. Ik zou het zoveel interessanter vinden als ze zich meer hier op gaan richten. Innovatie in creativiteit en puur spelplezier en niet zozeer het proberen te kopieren van de bestaande of de hollywood wereld.

Natuurlijk is het erg interessant dat ze steeds meer kunnen bereiken met techiek op het gebied van realisme maar ik hoop eigenlijk dat ze deze kennis wat creatiever kunnen inzetten.
realisme hoeft niet noodzakelijk aardse fysica te zijn he,
wat de nieuwe units kunnen is duizenden verschillende objecten laten interageren op een realistische manier, dwz zelfs in een fantasiewereld kan je de constraints duidelijk bepalen en verder de 'fictieve realiteit' loslaten op alles. het wordt er gewoon intenser op.

aan de andere kant ben ik het 100 procent eens met iedereen die vindt dat meer beeldpunten, meer frames, meer realitiet, meer vanalles niet de meest belangrijke 'op zijn minst even veel en liever ook meer gameplay' gaan verdrukken wat er spijtig genoeg meer en meer van komt...
Voorbeeldje in het gameplay verhaal:
Ik heb thuis een Xbox staan. Gewoon simpel ding met flinke sloot spellen en paar controllers. Maar zodra er vrienden zijn gaat dat ding toch nog 9 van de 10 keer Nintendo 64 roms emuleren omdat games als SuperSmash brothers, Diddy kong racing, Tetris Attack en Mario Kart toch ook nog steeds heel leuk blijven. Maar als je dan even naar zo'n game kijkt is ie wel gruwelijk lelijk. Ik denk daarom dat het van belangis om de balans te zoeken.

Al denk ik dat het door de dikke sponsoringen van Nvidia en Ati richting de meeste games voor de PC een kansloze missie wordt...
Noch Microsoft, noch Sony probeert realisme na te bootsen.

Microsoft probeert z'n monopoly op de desktop via DirectX met de XBox te versterken (daarom hoeven ze ook helemaal geen winst te maken op dat ding!). Des te meer game-ontwikkelaars hun 3d-engine op DirectX gaan baseren des te groter de controle van Microsoft op welke devices en operating systems 99% van de spellen draaien.

Sony probeert juist met veel betere hardware mogelijkheden te komen, die voor realisme gebruikt zou kunnen worden.

De grootste veroorzakers van realisme zijn nog altijd de gamers zelf, die de spellen dan kopen. Daarnaast heb je helemaal geen nieuwe uitvinden nodig als gewoon wilt pac-mannen. Daar valt dan dus ook niet zoveel geld te behalen. Maar er is geen enkele reden dat je al die extra rekenkracht voor andere dingen dan realisme zou kunnen gebruiken. (misschien voor betere AI? of mooie geshade cartooneske omgevingen?)
Jammer? Wat wil je dan? Zwaartekrachtloze spellen met gare graphics, in fantasie-omgevingen of echte omgevingen heb je gewoon die hardware nodig om iets mooi en fijn te laten spelen. Ik weet niet wat precies jou idee van fantasie was?
Ik ben wel met je eens dat game-ontwikkelaars zich meer op de gameplay moeten gaan richten (game-ontwikkelaars, niet sony of microsoft die de hardware leveren). Een goed argument: Ik heb nu tijdelijk een tweede pc op mijn kamer en vrienden van mij skippen school om hier AoE en Ra2 tegen mij te spelen, behalve dat is de verhaallijn van Ra2 ook erg vet.
Er zijn zoveel spellen mislukt doordat de gameplay gewoon niet goed is uitgewerkt.
Daarnaast springt Nintendo voor een deel in dat gat van de markt met haar Revolution. In principe is er dus een wel keuze wat betreft graphics versus originaliteit.
Wordt dit dan optioneel of een standaard feature van de ps3? Anders krijgen we dalijk weer hetzelfde als de expensionpack van de Nintendo 64.
Het gaat hier om een stuk software dat gebruikt maakt van de unieke eigenschappen van de CPU (de cell processor) die de PS3 aan boord heeft. De SPE's zijn (bijna) ideaal voor physics berekeningen. Ageia heeft om de ontwikkeling hiervan te versimpelen een toolkit/engine gemaakt. Doordoor hoeven (heel simpel gezegd) de ontwikkelaars alleen nog maar te zeggen "laat doos vallen" en de tools van Aegia rekenen uit hoe dat dan gebeurt. De ontwikkelaars hoeven dus niet meer zelf alle formules die daar bij horen te implementeren.

Er is dus geen extra hardware nodig (dus geen extra PhysX chip, want die is voor de PC bedoeld, die geen Cell aan boord heeft).
Nee, naast het feit dat je simpelweg niet kunt 'meten' hoe 'krachtig' iets is. Maar het is iig niet inherent aan cell processoren dat ze goed kunnen emuleren, wat cell processoren goed kunnen is veel berekeningen naast elkaar laten plaatsvinden.
dit is een software pakket om beter te kunnen ontwikkelen voor de processor die in de ps3 zit.. het is dus idd standaard functionaliteit
Dit is wat Sony met next generation bedoelde.

Mooie graphics is leuk, maar achter een spel zit toch wel heel veel meer.
HL2 bewees dat games met fatsoenlijke collision/physics beter en leuker spelen.

Ik verwacht niet dat EA zal weten hoe je ermee om moet gaan, maar Konami en Namco bijvoorbeeld zullen bij de ps3 exclusive games zeker wel gebruik ervan maken.
Misschien ziet een spel er hetzelfde uit op bijv de nintendo revolution en ps3, maar de ps3 versie zal dan zeker betere AI en physics hebben ivm met veel meer rekenkracht.

Dat beloven dus mooie tijden te worden voor gamers.

Is trouwens bekend of die SPe's evenveel prestie leveren als zo'n pc uitbreidingskaart van 200 euro?
Ik hoop iig niet dat het de prijs van de ps3 gaat opdrijven.

Alleen jammer dat we nog 8 maanden moeten wachten hierop ;(
Maar zodra er vrienden zijn gaat dat ding toch nog 9 van de 10 keer Nintendo 64 roms emuleren
stouterd ! ;)
Ik kan me voorstellen dat Xbox/PC wat code betreft redelijk te porten moet zijn omdat het allebei pc hardware is. (intel 800 cpu geloof ik in zo'n xdoos).

het is een intel 733 }> met een wd 8 gb schijf met de doodgewone ide kabel aangesloten
Dev's die dezefde code base willen gebruiken voor cross platform gebruiken daarvoor ook de meest cross platform ontwikkel omgeving voor. En dat is C/C++ En coden dan zodaning zonder hardware specifieke API Calles te gebruiken. Alleen de modules die dat toch wel gebruiken moeten en ASM modules moeten dan omgeport worden vaak is dit de hardware abstraction layer en ASM routines die vaak in de performance loop gebruikt worden en dus assembler optimised zijn.
Of ze Programmeren puur in de Cross platform taal.Hou je alleen die hardwae abstraction layer oever. Als port taak.

Porten is dan 'n minder grote taak maar. Maar dan krijg je de keuze is de game gebaseerd op de minst gemene deler tussen al die platformen wat eigenlijk de game sowie so degradeerd. Tov krachtigere platformen.

Of men houd voor elk platform 'n subteam aan die de algemeen codebase+art content optimaliseerd of aanpast om meer uit elke specifieke platform te halen.
Dit houd soms ook in Game content aanpassen

Nu met Dual core Triple core(XBOX) console en de Oct core in order CPU van de PS3
Komt er nog iets bij kijken men moet nu voor elke platform de engine optimaliseren voor single en Dual PC dan voor console Triple en voro Cell oct core SMP design.

aangezien als je veel platformen de minst gemene deler toepast je dan op single core design komt.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True