I have been rooting on this article for a week already. First spotted it realworldtech which had a more reliable report than the one in tomshardware.
Link on realworldtech: Real World Technologies - PhysX87: Software Deficiency
I have little knowledge about ASM and this got me really interested to catch up with the report made RWT because of a few familiar terms in the article that really made me curious. Reading the entire report will give you extreme to head-blowing nosebleed even for guys who have little background on ASM. But if you have a working knowledge with ASM, you will see that PhysX is really inefficient because it's using a really old instruction set. x87 is so 2000-late. We're now widely using SSE which is more efficient, has higher floating point accuracy and has more widely used instruction sets. To understand the disadvantage that PhysX is on the verge right now in a lesser complicated way, its like trying to pull off OOP in Pascal.
Having a rewrite is fatal, as is it like creating a new physics engine all over again. It can be done in a short time but testing and debugging could really take ages. What you have as a consolation for rewriting it is the concept of how PhysX worked.
Not having a rewrite is like turning PhysX into a white elephant. The consumers may benefit from the real-world graphics but the developers will more likely drop any PhysX support later on. I assume that this is one of the reasons why game developers always try to steer away from PhysX aside from licensing costs and the attempt of Nvidia on monopoly. No wonder game developers use Havok or Bullet.
The more you know: The movie "2012" uses Bullet as their physics engine. Looks beautiful ain't it?
If you have read somewhere in the article, it has been mentioned that PhysX is sometimes best left ignored if you have multicore processors(minimum of 4 cores). Mainly because even if you don't have a PhysX supported card, it just eats up 1 one of your cores.
Maybe soon when Nvidia has the heart to go for a more recent instruction set, its purpose would be more tempting for devs. But for now, this problem does not concern the common consumer because it is working as expected. The consoles can attest to that (Xbox 360). This will only turn bad for Nvidia when you start talking to the game devs.
Like I said a while ago, I'm no pro with ASM, and I'm not pretending to be one. I write a few codes for LUA these days and I'm learning a little bit of Havok too![]()
@personalmgt: great input bay. Nvidia has been really using its influence to push their proprietary technology. There were even reports of them giving incentives to game devs to include PhysX in their titles because the game devs themselves didnt like physx. Now we know why for sure. Having experienced some assembly code myself, i can immagine how hard it is to use low level languages.... I remember how I reeeaaally HATE having to write the code for the specific memory addresses each time on ASM... The loop comands are also WHACK!
@ P0w3rM0v3 & personalmgt: damn dudes! you guys really know what your talking about.. geez, I'm lost! ahkekekesounds interesting though.
naka basa ko ani sa toms, powermove..hahaha..naka ingon ko nga patay ang physics sa nvidia...ma lubong nasad sila sa ATI...hehehehe
@libido: to be honest bay, i really think abusado na kaayo ang Nvidia. Nvidia knows daghan kaayo sila fanboys na mo palit bisan they churn out half assed products even. I hate their CEO, si Heung (spelling?). one cocky bastard lol. Hopefully they learn their lesson.
@foshow: ASM stands for assembly code bay. it is a REAAALLLY low-level programming language. laliman ka kahinanglan pa nimo butang sa imong pragram ang specific memory stack para mo store ug variable. Just think of it this way, sa C palang (not C++ which is the newer version), ang 10 or more lines of code nimo sa ASM mahimo ra ug 1 or 2 lines sa C..... grabi makasapot na language. Si personalmgt was also talking about Object Oriented Programming (OOP). Old programming languages dont have this. OOP makes it possible to create objects with specific defined functions so you can 'call' it in the program instead of typing the codes for it.
sa among subject sauna...we call that ASM as "Machine Language"...maka buang lang gyud na sya...simple character..need pa nimo e assign ug e code hahahaha...then kung mag calculations ka...samot taas kaau ang imong code...
yea. it is widely know jud as 'machine code'. ang benefit man sa ASM is its if faster than other languages out there since it is down to basics and talk directly to the hardware. but of course at the expense of your sanity to code it.
well that is you. can't blame you for that. main reason here is plainly business.
Competition has got nothing to offer . Accusing nV of abused by not coding Physx very well on CPUs is nerveless.
Why not blame AMD/ATI for not offering hardware accelerated physics up to this time?
Similar Threads |
|