Where's The Physics: The State of Hardware Accelerated Physics
by Ryan Smith on July 25, 2007 4:00 PM EST- Posted in
- GPUs
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.
32 Comments
View All Comments
Bladen - Thursday, July 26, 2007 - link
When I say first order physics, I mean the most obvious type: fully destructible environments.In UT3, you could have a fully destructible environment as an on/off option without making the game unbalanced in single player. The game is mindless killing, who care is you blow a hole through a wall to kill your enemy?
I guess you could have fully destructible environments processed via hardware and software, but I'd assume that the software performance hit would be huge, maybe only playable on a quad core.
Bladen - Thursday, July 26, 2007 - link
Whether or not the game has fully destructible environments, I don't know.Verdant - Thursday, July 26, 2007 - link
dedicated hardware for this is pointless, with GPU speeds and numbers of cores on a die increasing on CPUs, I see no point in focusing on another pipe.Plus the article has a ton of typographical errors :(.
bigpow - Wednesday, July 25, 2007 - link
Maybe it's just me, but I hate multiple-page reviewsShark Tek - Wednesday, July 25, 2007 - link
Just click on the "Print this article" link and you will have the whole article in one page.Visual - Thursday, July 26, 2007 - link
indeed thats what i do. almost.i hate that printarticle shows up in a popup, can't open it in a tab easily with a middle-click too... same as the comments page btw. really hate it.
so i manually change the url - category/showdoc -> printarticle, it all stays in the same tab and is great. i'm planning on writing a ".user.js" (for opera/greasemonkey/trixie) for fixing the links some time
Egglick - Wednesday, July 25, 2007 - link
Other than what was mentioned in the article, I think another big problem is that the PCI bus doesn't have enough bandwidth (bi-directional or otherwise) for a card doing heavy real-time processing. For whatever reason, manufacturers still seem apprehensive about using PCIe x1, so it will be rough for standalone cards to perform at any decent level.I've always felt the best application for physics processors would be to piggyback them on high-end videocards with lots of ram. Not only would this solve the PCI bandwidth problem, but the physics processor would be able to share the GPU's fast memory, which is probably what constitutes the majority of the cost for standalone physics cards.
This setup would benefit both NVidia/ATI and Ageia. On one hand, Ageia gets massive market penetration by their chips being sold with the latest videocards, while NVidia/ATI get to tout having a huge new feature. They could also use their heavy influence to get game developers to start using the Ageia chip.
cfineman - Wednesday, July 25, 2007 - link
I thought one of the advantages of DX10 was that it would allow one to partition off some of the GPU subprocessors for physics work.I was *very* surprised that the author implied that the GPUs were not well suited to embarrassingly parallel applications.... um.... what's more embarrassingly parallel than rendering?
Ryan Smith - Wednesday, July 25, 2007 - link
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.As for DX10, there's nothing specifically in it for physics. Using SM4.0/geometry shaders you can do some second-order work, but first-order work looks like it will need to be done with CUDA/CTM which isn't a part of DX10. You may also be thinking of the long-rumored DirectPhysics API, which is just that: a rumor.
yyrkoon - Thursday, July 26, 2007 - link
Actualy, because of the limited bandwidth capabilities of any GPU interface, the CPU is far better suited. Sure a 16x PCIe interface is limited to a huge 40Gbit/s bandwidth (asyncronous), and as I said, this may *seem* huge, but I personally know many game devers who have maxed this limit easily when experimenting with game technologies. When, and if the PCIe bus expands to 32x, and *if* graphics OEMs / motherboard OEMs implement it, then we'll see something that resembles the CPU-> memory of current bandwidth capabilities(10GB/s). By then however, who is to say how much the CPU -> memory bandwidth will be capable of. Granted, having said all that, this is why *we* load compressed textures into video memory, and do the math on the GPU . . .Anyhow, the whole time reading this article, I could not help but think that with current CPUs being at 4 cores, and Andahls law, that the two *other* cores could be used for this purpose, and it makes total sense. I think it would behoove Aegia, and Havok both to forget about Physics hardware, and start working on a liscencable software solution.