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 , , 46 reacties
Submitter: Topster21

Epic Games en Nvidia hebben bekendgemaakt dat ontwikkelaars die de Unreal Engine 4 gebruiken volledige toegang krijgen tot de broncode van Nvidia's physics-engine PhysX 3.3.3. Ook wil Nvidia bijgedragen code gaan beoordelen en eventueel opnemen in toekomstige versies van PhysX.

De toegang tot de broncode van PhysX 3.3.3, dat geschreven is in C++, is inclusief de zogeheten clothing- en destruction-bibliotheken. Developers kunnen de broncode van de door Nvidia ontwikkelde PhysX-engine via Epics Unreal Engine-repository op GitHub opvragen en volgens Epic naar hartenlust aanpassen.

Epic, die al een aantal jaren nauw samenwerkt met Nvidia, moedigt developers aan om aanpassingen aan de PhysX-code te delen, waarbij Nvidia heeft toegezegd deze bijdragen te bekijken. Mochten zij interessante vernieuwingen bespeuren, dan zullen deze mogelijk worden opgenomen in toekomstige PhysX-versies.

Nvidia deelt niet alle PhysX-code met het publiek: het gaat om het deel van de physics engine die de cpu gebruikt. Het gpu-deel blijft vooralsnog propriëtair. De broncode die echter openbaar is gemaakt draait op vier platformen: Windows, Linux, OS X en Android.

Moderatie-faq Wijzig weergave

Reacties (46)

PhysX is leuk en aardig maar ik pleit toch echt voor een open platform dat goed draait op zowel AMD als Nvidia. Al die exclusieve shit is alleen maar slecht voor de gamers. Hetzelfde geldt voor bepaalde andere technologieŽn die exclusief voor bepaalde videokaarten zijn, bijvoorbeeld sommige vormen van AA of AO. Daar komt dan ook eens bij dat sommige games vťťl beter geoptimaliseerd worden voor kaarten van Nvidia of AMD, wat ook weer slecht is voor de gamers. Leuk voor de portemonnee van de fabrikant, maar niemand die er verder wat mee op schiet.
PhysX is niet exlusive, alleen de GPU-accelerated versie ervan is exclusive. Iedereen kan de CPU versie van PhysX gebruiken en die doet het prima...
De CPU-versie doet het niet prima, maar is juist slecht geoptimaliseerd om de GPU-versie beter te doen lijken.

Zie: http://semiaccurate.com/2...efully-hobbles-physx-cpu/
Hmm als je z'n artikel dan maar een andere physics engine vergelijking.

http://www.codercorner.com/blog/?p=914

Op cpu getest.
Het toont vooral aan dat er andere physics engines zijn die (veel) langzamer zijn dan PhysX. Er wordt geen vergelijking gemaakt met GPU-PhysX, je kunt dus niet zien dat PhysX bv 100-1000◊ sneller is op de GPU, daarom alleen al is het een nutteloze/slechte bron. Op een aantal screenshots zie overigens ook duidelijk het probleem: 12-2 fps in een zeer simpele scene.

Een quote van het artikel:
Meanwhile, it is correct that the features that do work on GPU are currently only working on NVIDIA cards, simply because they are implemented using CUDA. There are both obvious political and technical reasons for this.It should be pretty clear that at the end of the day, NVIDIA would like you to choose one of their GPUs.. If you are actually complaining about that, then there is little discussion left to have. Of course they want to sell their products, like every other company in the world. And of course they are going to use their own technology, CUDA, to do so. To me this is pretty much the same as what we had in the past with D3D caps. Some cards supported cubemaps, or PN-triangles, or whatever, and some didn’t. GPU PhysX is the same. It’s just an extra cap supported by some cards, and not by other. Complaining about this is silly to me. It would be like complaining that ATI didn’t make any effort to make PN-triangles work on NVIDIA cards. Seriously, what?

The deal is simple. NVIDIA gives you a free, efficient, robust physics engine. In exchange, if possible, add some extra GPU effects to give people an incentive to buy NVIDIA cards. Fair enough, right? I don’t see what the fuss is all about.
Mijn reactie hierop is dat het een domme zet is, en wel omdat het een versplinterde ervaring voor je spelers oplevert. Voor de game maker is dit slecht, omdat ondanks dat hij/zij een Physics engine implementeert, slechts een selectie van zijn spelers hiervan gebruik kan maken, en een ander deel moet het maar missen, "pech" gehad. Waardoor zij dus een negatieve indruk van je game/bedrijf krijgen/hebben. Een wasserette die alleen BMWs en Mercedessen wast, maar geen Audi's, Porches en VWs zou weinig populair zijn. Idem met PhysX. Oplossingen die vendor specifiek zijn, zijn alleen in het voordeel van de vendor. Niet in het voordeel van de consument, en ook niet in het voordeel van de producent.
Ik zou het erg knap vinden als het lukt om een physics-engine op de CPU sneller te krijgen dan een GPU.

Een physics-engine moet op een heel groot aantal data-punten een aantal kleine, grotendeels gelijke berekeningen uitvoeren. Dit is precies waar GPUs goed in zijn. CPUs kunnen dit tegenwoordig een beetje, maar kunnen niet met meer dan een handvol datapunten tegelijk rekenen. High-end GPUs komen tot duizenden data-punten tegelijk.

Mijn eerste reactie op het artikel is dus dat hij iets over het hoofd ziet, of afgaat op een aantal metingen die niet representatief zijn.

Dit neemt overig niet weg dat ik het jammer vind dat PhysX alleen goed werkt met nvidia-kaarten, en dat het voor de hele gaming-industrie beter zou zijn als PhysX ook goed werkt op GPUs van andere fabrikanten (via bijvoorbeeld OpenCL).
Dus PhysX is exclusief. Alleen mensen met een nVidia videokaart kunnen er optimaal gebruik van maken. "Die doet het prima" is natuurlijk een flauwe opmerking. Tuurlijk werkt PhysX op de cpu, maar verre van zo goed als op de gpu. En dus leveren game makers een halve ervaring voor AMD kaarten, Mirror's Edge was zo'n debacle.
Dus PhysX is exclusief. Alleen mensen met een nVidia videokaart kunnen er optimaal gebruik van maken. "Die doet het prima" is natuurlijk een flauwe opmerking. Tuurlijk werkt PhysX op de cpu, maar verre van zo goed als op de gpu. En dus leveren game makers een halve ervaring voor AMD kaarten, Mirror's Edge was zo'n debacle.
Hangt er ook maar vanaf van de gebruikte CPU natuurlijk en hoe je daar naar kijkt, qua physics. :) Maar over het algemeen voegen physics maar weinig dingen toe.

Om even een voorbeeld te geven, dat soms CPU wel dergelijk beter is dan GPU: ga maar bijvoorbeeld streamen, dan kun je dat het beste de x264 encoder gebruiken, via CPU, die geeft dan kwalitatief betere video op dan dat je gaat streamen met Quick Sync of NVenc. Bij recorden (dus lokaal opslaan) dan kun je weer wel beter Quick Sync of nog beter, NVenc gebruiken.
Een betere kwaliteit wel, maar ook een hogere belasting op je systeem. Als referentie een onderzoek van iemand. GPU encoding is vooral snel, x264 is het paradepaardje van encoding, en Intel Quick Sync is toch sneller. Minder kwaliteit daargelaten, maar QS is natuurlijk ook veel jonger en heeft veel minder optimalisatie dan x264 door de jaren al heeft gehad.

Overigens wens ik je succes om particle en/of cloth simulatie real-time op een cpu te gaan draaien. ;) Dat is vooral de kracht van gpu-accelerated physics engines.
Als eigenaar van een nvidia kaart: ik draai physx liever op de cpu. Physx op gpu tankt ook de framerate maar op cpu is dat juist een minder probleem omdat je daar rekenkracht over hebt (meeste games zijn bij een normale hardware setup GPU bound)
De functionaliteit is niet exclusief, de "GPU versnelling" is dat wel...
Die GPU versnelling zorgt dat je framerate meestal verminderd...
Als je als gamer nou functionaliteit moet missen omdat deze niet geÔmplementeerd is voor niet Nvidia (GPU PhysX) gamers, noem ik dat exclusief. Vrijwel elke PhysX game moet compromitteren om het (als er al CPU ondersteuning is) werkend te krijgen, en vaak is de ervaring minder: https://www.youtube.com/watch?v=EohV5YfBR8w. Vaak mis je veel eye-candy, en in sommige gevallen gewoon alle (Mirror's Edge). Dat het je framerate vermindert heeft er vooral mee te maken wanneer GPU-accelerated PhysX gebruikt wordt bij scenes die grafisch zo zwaar zijn dat je gpu gebottlenecked wordt, wanneer de simulatie (als er cpu kracht over is), inderdaad beter NIET op de GPU kan lopen. Meestal heb je dit bij videokaarten die eigenlijk te zwak zijn om de game met goed fatsoen te draaien. CPU PhysX kan dan een verlichting opleveren voor de GPU, door het daarop off to loaden, maar wanneer je dus een trage cpu hebt kan de averechts werken en hetzelfde veroorzaken waarover jij het hebt met dat je een lagere fps hebt met GPU versnelling aan.

[Reactie gewijzigd door drdelta op 6 maart 2015 08:17]

achja, het is alleen hooguit slecht voor gamers die geen Nvidia-kaart hebben..................
PhysX was ooit gewoon voor beide gpus. Nvidia heeft dit bedrijf toen opgekocht en amd support er direct uitgeknalt. Voor mij al een reden om nooit een nvidia kaart te halen. Bedrijven die dit soort taktieken toepassen krijgen mijn support zeker niet.
Toen was het andere dedicated hardware (Aegia PhysX) en kon je het toevoegen.
Daarvoor moest je dus nog een aparte kaart halen en was het dus ook niet 'gewoon' beschikbaar.
http://data.stuartconnect...php/object/image?p=67&i=1

Als Nvidia dat bedrijf dan koopt zou het wat vreemd zijn als AMD gratis mee mag liften.
Wellicht dat NV heeft aangeboden om het in licentie te nemen en wil AMD daar niet aan???
Beetje vreemd om op basis daarvan dan Nvidia te boycotten.
Het zou mijn zeer verbazen als nVidia AMD ooit een licentie voor PhysX aangeboden heeft. nVidia is altijd erg gesloten met zijn software en doet dit alleen voor hun eigen gewin. PhysX, CUDA, GSync, etc. En dan komen daar weer alternatieven voor, zoals OpenCL, FreeSync, etc. zodat ook mensen (83.6% van de markt) vergelijkbare functionaliteit kan hebben zonder per se een nVidia kaart te moeten hebben.
Het zou mijn zeer verbazen als nVidia AMD ooit een licentie voor PhysX aangeboden heeft. nVidia is altijd erg gesloten met zijn software en doet dit alleen voor hun eigen gewin. PhysX, CUDA, GSync, etc. En dan komen daar weer alternatieven voor, zoals OpenCL, FreeSync, etc. zodat ook mensen (83.6% van de markt) vergelijkbare functionaliteit kan hebben zonder per se een nVidia kaart te moeten hebben.
Waarom niet, een licentie op een patent levert ook miljoenen op, zeker een patent als nVidia heeft voor PhysX.
Denk dat ze dan juist hun exclusiviteit missen als ze features beschikbaar maken voor concurrenten. Dat is ook hun goed recht. Ze voegen dingen toe die meestal een verbetering van de kwaliteit inhouden. Zo doet elk zichzelf respecterend bedrijf dit. Anders ben je alleen maar aan het concurreren op de prijs van een product als die van de concurrent verder exact hetzelfde kan zijn. het is nou ook weer niet zo dat je er echt last van hebt als je voor AMD kiest met minder grafische uitbreidingen. Het wordt verder door de gameontwikkelaars bepaald hoe en of ze een exclusieve feature implementeren. Ze zullen nooit er voor zorgen dat games alleen maar leuk zijn met een bepaalde fabrikant van hardware. Dan verliezen ze een deel van de markt. En dat is exact waarvoor er zoiets bestaat als DirectX of OpenGL wat, in tegenstelling tot vroeger waarbij de markt wel degelijk verdeeld was afhankelijk van het merk grafische kaart die je had, er voor zorgt dat er geen monopolie ontstaat. De rest is additief.
Maar al die extra shizzle komt ook met een prijs, het kost toch extra rekenkracht. Dus het is niet zo dat de ene partij mooiere graphics heeft met dezelfde snelheid (relatief).
Het is ook niet zo dat de andere partij geen eigen dingen heeft. AMD heeft mantle, nvidia heeft extra grafische toevoegingen. Ligt er maar aan wat je liever hebt.
Bovendien hoeven we hopelijk over een aantal jaar niet meer te kiezen, maar kunnen we beide partijen gezamenlijk gebruiken met de komst van DirectX 12. Bovendien kun je nu al een losse nvidia kaart gebruiken voor physx naast je AMD (crossfire) setup. Ik daarentegen gebruik physx niet, het haalt je complete framerate omlaag, hoe chique het ook uit kan zien. Beeld is niet meer vloeiend.
Behalve dat voor pc gamers 50% nvidia gebruikt.
28% amd en maar 19% intel.

Bron is steam survey.
Behalve dat vrijwel niemand OpenCL/CUDA voor games gebruikt, en de wereld voor grafische kaarten groter is dan alleen games. En als we dan toch cijfers noemen: 51.83% Nvidia, 19.2% Intel, 28.6% AMD en 0.37% Overig.
Voor nvidia is volgens mij gaming wel de grootste markt. En AMD loopt als jaren met zijn producten achter CPU en GPU wise. Misschien pricing wel cheaper maar CPU is AMD al ongeveer gestopt met performance CPU omdat ze intel niet konden bijhouden. En GPU die NVIDIA only features zijn in aardig wat games geimplementeerd en dat is vaak wel de reden dat ik en zo te zien op steam de meeste pc gamers nvidia kopen. En vaker stabielere drivers.
Dus als meer game ontwikkelaars een systeem onafhankelijke physics implementatie hadden (UE4 GPU Particles bv), kon AMD beter concurreren, en zouden prijzen van kaarten lager zijn (want concurrentie) en kregen we daar meer performance voor terug (performance strijd). Nee inderdaad, prima dat Nvidia marktleider is, en iedereen moet snel snel Nvidia kaarten kopen.. Games met NVIDIA only features is NVIDIA die zijn zak met geld gebruikt om zijn (monopolie) positie te vergroten ten kosten van concurrentie, en consumenten die door game ontwikkelaars genaaid worden.
Behalve dat vrijwel niemand OpenCL/CUDA voor games gebruikt, en de wereld voor grafische kaarten groter is dan alleen games. En als we dan toch cijfers noemen: 51.83% Nvidia, 19.2% Intel, 28.6% AMD en 0.37% Overig.
Binnen Steam is toch echt > 90% gaming.
Ongetwijfeld, maar dat staat dus los van de andere grote markten buiten gaming die Nvidia/AMD/Intel bedienen met hun GPU systemen.
En alle recente consoles hebben een AMD GPU.
Wat laptop hardware is. Ben een pc gamer en je ziet nu al dat consoles op hun limiet zitten en ze moeten weer 8 jaar mee :(.
Hoop dat er binnen een jaar of 2 weer een nieuwe console er komt anders blijft games graphics weer hangen.
Das niet helemaal waar, voordat nvidia het overkocht hadden ze al een versie voor gpu's en werd het al in games gebruikt.. Het klopt dat het ooit begon met een aparte kaart, maar gpu support zat er al snel in.

[Reactie gewijzigd door ro8in op 5 maart 2015 20:00]

Maar dan zou Nvidia het net zo als onder Aegia beschikbaar kunnen maken wanneer je er een aparte Nvidia kaart in stopt die het PhysX gedeelte van de berekeningen voor zijn rekening neemt en die ook gewoon naast een AMD kaart even goed werkt. Een goedkope aparte Nvidia kaart speciaal voor de PhysX berekeningen naast je nieuwste GPU werkt (vaak) zelfs veel beter dan ťťn hele dure die alles doet.
Er is alleen een stel tweakers voor nodig om dat ook met een AMD kaart te laten werken. Vanuit Nvidia zal het niet komen, die blokkeert naar verluidt zelfs bepaalde onderdelen als er een AMD kaart gedetecteerd wordt. http://www.ngohq.com/grap...d-geforce-285-solved.html
Dan hoop ik dat je PC op Linux draait, dat je nooit gebruik maakt van een Google of Facebook, ... . Het is een tactiek die elk groot bedrijf toepast. Uiteindelijk kiest een klant voor de toegevoegde waarde van een fabrikant. Anders kan de klant even goed een generiek product nemen.
En dan nog een goede keuze maken in Linux Distro ook. Distro's passen ook dit soort tactieken toe... Ubuntu heeft zich volledig afgesloten van de rest van de wereld bijvoorbeeld. RedHat heeft ook closed source pakketten die toch echt concurrent zijn van anderen.
PhysX is nooit voor beide GPU's geweest, het is altijd de dedicated kaartje geweest en nadat nvidia het had overgenomen is er pas echt aan GPU support gewerkt en is de dedicated kaart gedumpt.. Wat wel is gebeurd na een tijdje is dat nvidia de Physx support via GPU op de nvidia kaart uitschakelde wanneer een andere GPU de rendering deed en de nvidiakaart dus eigenlijk alleen de physx.. maarja, hoe vaak kom je tegen dat iemand zowel een nvidia als een AMD kaart in zijn/haar computer heeft zitten..
PhysX was ooit gewoon voor beide gpus. Nvidia heeft dit bedrijf toen opgekocht en amd support er direct uitgeknalt. Voor mij al een reden om nooit een nvidia kaart te halen. Bedrijven die dit soort taktieken toepassen krijgen mijn support zeker niet.
nVidia heeft Aegia destijds overgekocht om de technologie in te bouwen in hun eigen GPU's, niet de AMD support 'eruit geknalt' zoals jij het brengt. AMD zou denk ik als zij destijds Aegia over hadden genomen hetzelfde hebben gedaan, om het vervolgens via een licentie op het patent eventueel te verkopen.

nVidia heeft op die manier wel meer bedrijven overgenomen, om later daar technologie van in hun GPU te steken. Zo heeft nVidia ook 3DFX overgenomen en volgde later SLI in de GPU's van nVidia, daarom kan nVidia ook die naam gebruiken. Overigens heeft nVidia wel meerdere technologiŽn te danken aan de overname van 3DFX. Zou mij daarom niet verbazen, als nVidia dankzij diezelfde overname destijds ook 'hardware T&L (transform & lightning)' in hun GPU's heeft kunnen doen (is inmiddels wel een verouderde technologie), maar correct me if I'm wrong.

[Reactie gewijzigd door CH40S op 6 maart 2015 02:09]

Ja, je zit er naast. nVidia was de eerste met een T&L unit met de Geforce 256 kaart. Toen was 3dfx nog niet overgenomen.

[Reactie gewijzigd door nIghtorius op 6 maart 2015 08:09]

Het gpu-deel blijft vooralsnog propriŽtair.
En dat is nog steeds te betreuren. Ik snap nog steeds niet wat nVidia met PsyX echt wil. Ik zie maar weinig mensen een nVidia kaart kopen omdat ze PhysX als een noemenswaardige factor zien, wat logisch is gezien de weinig titels die van de technologie gebruik maken. nVidia zou er slimmer aan doen om het idee van de walled-garden los te laten en PhysX gewoon ook voor de concurrent beschikbaar maken. Zo zou nVidia de gehele markt vergroten, omdat het desktop/laptop gaming opnieuw weer een edge geeft t.o.v. de console markt, waarvan nVidia in mijn optiek meer aan kan verdienen. Ik zal waarschijnlijk met het volgende een kliek nVidia fans boos maken, en persoonlijk interesseert dat me geen bal gezien zij niets om de markt in zijn geheel gegeven, maar het zou de markt in zijn geheel zeker helpen als nVidia 'n keer naar de mentaliteit van AMD kijkt. Althans wat AMD recentelijk nog had bewerkstelligt.
Ik zie af en toe toch echt console games voorbij komen met nVidia PhysX in de credits, dus zo heel nVidia- en/of PC-specifiek is het nou ook weer niet. Alleen de GPU acceleratie is propriŽtair.
Ware het niet dat het geen bal uitmaakt of ze de gpu code uitbrengen. Het is niet alsof amd dan opeens speciaal hun hardware er op gaan aanpassen.

Je zou meer hebben aan een opencl physics engine (en die bestaan al: bullet)

[Reactie gewijzigd door mathijs727 op 5 maart 2015 19:15]

Nvidia deelt niet alle PhysX-code met het publiek: het gaat om het deel van de physics engine die de cpu gebruikt. Het gpu-deel blijft vooralsnog propriŽtair.

Gaat het hier dan om de PhysX zoals die alleen op CPU draait of het deel van de GPU PhysX die aangestuurd wordt vanuit de CPU?
Alleen de cpu code ja. Bij de meeste spellen met PhysX draait alles altijd op de cpu. Developer heeft een bruikbare physx middleware en nvidia krijgt reclame in de splash screens bij opstarten.
Weet je dat zeker of heb je daar een bron voor? Dat lijkt mij namelijk niet echt vanzelfsprekend.
Het lijkt me dat het best zo kan zijn dat je alleen de broncode krijgt van de code zoals die op de CPU draait maar dat je daarmee best physx in je game op de GPU kan laten draaien, daar heb je toch niet per se de (GPU) broncode voor nodig?
Jammer dat beide current gen. consoles daar geen gebruik van kunnen maken.
Zit in deze versie al FleX PhysX van Nvidia ? aka Gameworks?

Ik hoop van wel namelijk, er wordt gezegd dat Flex goed gaat draaien op meerdere platformen.

[Reactie gewijzigd door Thebestchoice op 5 maart 2015 18:11]

De c++ code die dus op de cpu draait als fallback als je geen nvidia kaart hebt? Wel ik hoop alvast dat we deze api gaan kunnen uitzetten op de ue4 games. Ik hou fps en frametimes graag stabiel, dank je wel.
Weet niet echt wat ik hier over moet denken. Physx is op zich een leuke technologie maar hoe NVIDIA er mee om gaat vindt ik echt niet kunnen.
Moet je je voorstellen dat Ageia nog steeds bestond.
Veel meer software/games zou ondersteuning hebben.
Nu alleen nog AMD.

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