Where's The Physics: The State of Hardware Accelerated Physicsby Ryan Smith on July 25, 2007 4:00 PM EST
- Posted in
2006 and 2007 have been rough for Ageia and their PhysX hardware. While they can rightfully claim to be the only solution for complete hardware accelerated physics at this time, getting a base of hardware owners and a base of developers isn't coming easily. As of right now the only two major titles that have shipped with PhysX support are Ghost Recon Advanced Warfighter(GRAW) and its sequel GRAW2.
Much of this we believe can be attributed to business reasons. Although Ageia offers a unified physics API that can handle physics done either in software or hardware, getting a developer to fully support the PhysX hardware means getting them to fully use said API. The Havok physics API in turn has been stiff competition in the physics middleware market, and it's fair to say that a number of games that have come out and will be coming out are using Havok and not PhysX. The situation is so bad that Ageia can't even give away the PhysX SDK - it's free and developers still aren't using it. With Havok eating up the business for software physics engines (not including those developers who use their own engines), it leaves Ageia in a poor spot.
Ageia's second business issue is that they still are suffering from a chicken & egg effect with developers and users. Without a large install base of PhysX cards, developers are less likely to try to support the PhysX hardware, and without developers to publish games using the hardware few people are interested in buying potentially useless hardware. Unfortunately for Ageia this is a time-sensitive issue that is only getting worse as the days pass by, the marginalization PhysX due to this effect is undoubtedly pushing developers towards other physics solutions, which ultimately breaks the chicken & egg scenario but not in Ageia's favor.
Ghost Recon Advanced Warfighter w/PhysX
Because Ageia is not directly producing PhysX cards, the actions of their partners can also have a significant effect on the success of PhysX. We believe that Ageia has lost the support of powerhouse Asus, as the supply of Asus's PhysX cards has completely dried up, leaving smaller BFG to supply the North American market. Coencidentally, ELSA (who only sells products on the overseas markets) has become Ageia's third partner and is now producing PhysX cards.
At this point Ageia does have one ace left up its sleeve, and that's Unreal Engine 3. Epic is using the PhysX API at the core of the physics system, giving Ageia an automatic window of opportunity to get PhysX hardware support in to every one of the numerous games slated to be using UE3. Even if everyone else were to abandon the PhysX API, conceivably there are enough games using UE3 to sustain Ageia and PhysX.
The most important of these games will be Unreal Tournament 3, which is due for release this year. So far the only major pieces of software that Ageia has had to show off PhysX has been the GRAW series which underutilizes the PhysX hardware, the partially aborted CellFactor technology demo, and the single-level GRAW2 technology demo; UT3 will be the first major game that may be able to take full use of the hardware as Ageia has done in its technology demos. We believe that UT3 will be the final push for PhysX hardware acceptance, either the hardware will die at this point or UT3 will push the issue from developer acceptance to consumer acceptance. In turn, any victory for Ageia will be reliant on Epic making full use of the PhysX hardware and not using it solely for eye-candy; using it for the latter will mean certain death while the former will hinge on the use of PhysX hardware not slowing the game down like we saw in GRAW.
At the very least, unlike with the GPU camp we should have a clear idea by the start of 2008 if the PhysX hardware is going to take off or not. We expect Ageia will be hanging on for dear life until then.
Post Your CommentPlease log in or sign up to comment.
View All Comments
Axion22 - Wednesday, August 1, 2007 - linkSorry PhysX, you're toast.
Multi-core CPUs will have you beat, and by manufacturers who have much more influence in the industry. Even if it did catch on, AMD and Nvidia would just add support and bury you in that market segment.
Aegia would do better trying to get in on the console action. At least there they will have a customer-base.
Zak - Wednesday, August 29, 2007 - linkYeah, I never liked the idea from the beginning. Count me as one of those who'd rather spend extra $200 on faster CPU than dedicated physics card. What are the chances that many games will use PhysX in a meaningful way, how long PhysX will be around? And, if PhysX is able to run in software mode on one core of a multicore CPU, I'd rather go that way.
0roo0roo - Sunday, July 29, 2007 - linkthe simple fact is gamers would rather buy a nicer cpu with more cores with that money. if those cores still can only deliver slightly less physics than the addon, people are willing to live with it. we aren't in a desperate rush to get physics. with the rate at which cpus keep progressing it won't matter, we'll get it regardless. so why worry. its not like sony or nintendo are quaking in their boots at the insane games that physx can create:P the compelling need is not apparent. digital worlds aren't detailed enough for it to matter, people still don't expect things to work in games the same way as reality. physics is limited to blowing stuff up and stacking boxes.
and as i said, for online play it won't ever be set for physx cards. if it affects game play than you can't play together with other non physx, so to guarantee compatibility it will be limited to fx and it becomes nothing more than eye candy again.
Bensam123 - Saturday, July 28, 2007 - linkThere are quite a few more game available that feature PhysX then just GRAW and GRAW2.
Not in the list is Rise of Legends. I don't know if it's official, but when installed it installs PhsyX and has quite robust physics in game (ragdolls in a RTS, land deformation, unit movement, etc.).
What I really don't understand and what this article didn't answer, is WHY game developers would pay for a license for a SDK when you can get a better, more user friendly, better supported, more robust, and finely free SDK. It just doesn't make sense to me.
Developers have nothing to lose from using PhysX, but have a lot to gain.
FYI for people that can't read the article, PhysX has a software mode it operates in. The software mode is natively made to run on more then one core. When it all comes down to it, even if you are a advocate for doing physics on a spair core PhysX already does that.
commandar - Friday, July 27, 2007 - linkWow, this article definitely isn't up to the quality level I generally expect from Anandtech. Typos everywhere and then gems like this:
"Being embarrassingly parallel in nature, physics simulations aren't just a good match for GPUs/PPUs with their sub-processors, but a logical fit for multi-core CPUs."
What you say? For one, all processors are not created equal. CPUs are awesome for general purpose work, but a GPU will eat its lunch when it comes to vector math. GPUs are massively parallel vector processors. Physics math generall *is* vector math. While there are problems with doing physics processing which others have already pointed out, suggesting that CPUs are better suited to the job because of parallelism is baffling.
Ryan Smith - Friday, July 27, 2007 - linkReposted from earlier in the comments:
I think you're misinterpreting what I'm saying. GPUs are well suited to embarrassingly parallel applications, however with the core-war now you can put these tasks on a CPU which while not as fast at FP as a GPU/PPU, is quickly catching up thanks to having multiple CPU cores and how easy it is to put embarrassingly parallel tasks on such a CPU. GPUs are still better suited, but CPUs are becoming well enough suited that the GPU advantage is being chipped away.
taterworks - Saturday, July 28, 2007 - linkIt's still not parallel enough. A modern CPU has only four cores (the Cell/BE doesn't count since it's not a CPU for PCs), but effective physics processing requires much more parallelism. The Ageia card is better suited to physics processing than any CPU that we'll be able to buy in the next five years. In addition, Ageia identifies a few shortcomings of GPUs when applied to physics calculations. GPUs can't perform read-modify-write operations in their shader units -- they can only perform read operations. In addition, GPUs aren't optimized for applications where each shader unit must execute different code -- they're designed to execute the same code, but on different parts of the image. As a result, some shader units finish their calculations before other shader units and simply sit idle instead of processing the next batch of data. The problem here is that the parallelism advantages become hamstrung by inefficiency. In the end, physics computations are too subtantially different from graphics computations for one optimized processing unit to be applied to a half-hearted form of the other.
What's to blame for Ageia's failure? I think there's a fundamental problem with the way gamers think about an immersive gaming experience. Gamers are too preoccupied with resolution, texture and model detail, lighting, and frame rates to notice that objects in games don't behave like real objects. The focus is on visual realism, not physical realism, but both are required for a true virtual reality experience. In addition, the PhysX hardware was too expensive from the start -- it had to be cheaper than GPUs in order for anyone to take a chance on it. A $99 PhysX card was desperately needed last year.
JarredWalton - Sunday, July 29, 2007 - linkOf course, all of what you're saying assumes that we actually need that much physics processing power. I remember reading about a flight simulator a while back where they described all of the complex calculations being done to make the flight model as realistic as possible. After the lengthy description of the surface dynamics calculations and whatever else was involved in making the planes behave realistically, the developer than made the comment that all of that used less than 5% of the CPU power. Most of the remaining CPU time was used for graphics.
Granted, that was Flight Unlimited and it was a while ago, but the situation is still pretty similar to what we have today. As complex as physics might be if you model it exactingly, it's really not necessary and the graphics still demand the majority of the CPU power. AI and physics are the other things the CPU handles. People can come up with situations (i.e. Cell Factor) where hardware physics is necessary to maintain acceptable performance. The real question is whether those situations are really necessary in order to deliver a compelling game.
Right now, games continue to be predominantly single core - even the most physics oriented games (Half-Life 2?) don't use multiple cores. And physics calculations aren't really consuming a majority of even one core! Now, give physics two cores that only need to do physics (on a quad core system), and do you see any reason that any current game is going to need a PPU? Especially when the cost of the PPU card is about as much as the cost of a quad core CPU?
I don't, and I don't expect to before AGEIA is pretty much gone. Maybe Intel or AMD will by their intellectual property and incorporate the tech into a future CPU. Short term, I just don't think they're relevant.
0roo0roo - Friday, July 27, 2007 - linkwouldn't they have to create physx only servers if the physics affect gameplay? they certainly aren't going to require physx to play online...i'm guessing it will only be limited to effects for the most part because of this.
Bladen - Sunday, July 29, 2007 - linkI'd imagine that hardware physics would not be much more taxing then non-hardware physics, except for RAM, on servers.
I'd say that the server would make everyones computer do the number crunching. The server would just say 'player 1 fires a rocket from this position at this angle (and thus hits this wall like so)". Every players individual PhysX card would do its own processing, and calculate to the same answer.
This is purely speculation though, I have no real knowledge of video game programing (or any kind of programming for that matter).