On March 8, 2005, an unknown company, called Ageia, announced a new device type to be launched on the market: Physics Processing Unit, PPU. Ageia intends to introduce PPU to the CPU-GPU couple and free resources of these two processors from computing physics. As PhysX PPU was announced at the traditional annual GDC 2005, no one had any doubts concerning the usage of the new coprocessors.
A year after the announcement, on May 9, 2006, the first PhysX cards started to appear in stores. Today we are going to examine a production-line card PhysX P1 from ASUS. But at first let's review the "physical" theory — as it's understood by Ageia.
So, Ageia PhysX processors are designed for computations of physics in modern 3D games. In fact, I cannot say that computer games suffer from the lack of physical effects: you will hardly come across a game that doesn't use the physical engine Havok to this or that degree - an industrial standard de facto as its competing products leave the market. What does Ageia offer what Havok and its less famous competitors lack?
The answer is obvious: none of the competitors produces hardware accelerators for computing physics. What features are hidden in this mysterious device? If we don't go into details (by the way, Ageia does not reveal them), PhysX is a processor, which more than 200 times as fast as modern CPUs in certain tasks thanks to its parallel architecture and intricate optimizations.
What optimizations? Unfortunately, Ageia is rather indistinct about it. PhysX chips officially have the following baseline features:
In other words, PPU is lightning-fast at processing a huge number of collisions between game objects — spherical or more complex. But in the latter case, PPU performance drops by a factor of 10^3.
As such computations are, as a rule, executed with floating point numbers, PhysX is "optimized" (according to Ageia; meaning that we cannot check it up) for FP32 computations.
Summing up the above said, we can draw a conclusion that there are no new physical effects or algorithms. It's a matter of a significant acceleration of some (to all appearances, rather limited — PhysX does nothing but superfast calculations of collisions between game objects) set of typical "physical" operations thanks to (1) maximum hardware optimization for such operations and (2) maximum efficient distribution of execution units of the physical coprocessor.
Programs access PPU resources via the standard proprietary API (we'll touch upon this issue in the concluding chapter of our review) — Ageia PhysX SDK. This API appeared earlier than PhysX processors, it used to be called NovodeX. Later on Ageia modified the API so that it could interact with PPU PhysX. So it was renamed to PhysX SDK.
Besides, on September 1st, 2005, Ageia bought Meqon — another manufacturer of software physics engines. The cognominal physical API Meqon was most likely merged with NovodeX.
One of the most attractive sides of API PhysX for modern developers is that it can work not only without PPU PhysX, but also on other platforms as well — game consoles of the new generation, Xbox 360 and PlayStation 3. In case of using PhysX on a PC equipped with PPU, capacities of all the three platforms in terms of physical computations become identical:
An opportunity to have the same physical effects by using the same API on all the three main platforms of the new generation will certainly attract many game studios to PhysX.
The main (practically the only) Ageia's competitor in gaming physics is Havok with its cognominal physics engine and API will hardly be able to provide identical physical code on all the three platforms: personal computers currently lag behind game consoles of the new generation in their "physical" performance.
However, this will also be discussed in the third part of our article. And now let's proceed to a practical examination of ASUS PhysX P1.
Ageia chose the time-proven fabless manufacturing model. That is PhysX chips are ordered to one of the popular semiconductor fabs. Then they are sold to card manufacturers, who sell ready cards and provide technical support.
When this article was written, physical accelerators based on PhysX chips were offered by two companies only: ASUS and BFG Tech. As the latter does not have its only fabs, it buys cards manufactured by Galaxy.
Ageia decided to avoid unleashing a blizzard of models and introduced only one standard PhysX configuration:
These characteristics look rather conservative for these days — the old process technology, dying PCI interface... However, the old process technology is probably used because it's cheap. And PCI bus may be used, because PCI Express is not wide spread yet. In future, Ageia plans on launching PhysX cards for PCI Express as well.
ASUS PhysX P1 physical accelerator
Let's have a look inside the cardboard box (quite a small box for ASUS):
Aside from the card, the box also contains:
Let's have a closer look at the first physical accelerator:
Pay attention to the Molex power connector — the card consumes more power than PCI can provide:
The back panel looks rather unusual, we already got used to seeing DSUB and DVI on video cards. PPU PhysX looks very much like a low-end video card:
A frugal plastic fan covers the PhysX chip and GDDR3 memory modules. However, we didn't risk removing the cooler from our card.
We tested the card in the following computer:
We run our tests under Windows XP Service Pack 2 (including several patches that were released after SP2) and DirectX 9c.
Installation and drivers
We had no problems installing the card into the testbed: we didn't even have to reboot to install the drivers (Version 2.4.3 FC1). Having shot blocks with balls in the test built into PhysX drivers, we opened the Ageia web site for a list of applications supporting this new physical accelerator. Here is the list (20.06.2006):
Note: (Patch) means that a game supports PPU only with a corresponding patch. Ageia actually cheated and added some games, which PPU patches were not yet available. For example, Rise of Nations: Rise of Legends.
The most interesting game is the recent PC shooter - Tom Clancy's Ghost Recon Advanced Warfighter. Let's use it to start our PPU PhysX tests.
Tom Clancy's Ghost Recon Advanced Warfighter
GRAW is a new game in the famous Ghost Recon series about adventures of four commandos armed with hightech weapons in the nearest future. The game was released for PC this year in spring. Support for PPU PhysX was integrated to this game at the development stage.
Interestingly, the latest version of the game (1.10) keeps silent about this feature: when you install PPU, some effects are rendered differently; a user cannot switch between CPU- and PPU-effects.
The game does not have a benchmark, so we cannot find out how advanced hardware physics impacts the game performance.
But on the whole, PPU affects little the GRAW effects: sparks look better, explosions are more colorful, but is it worth $300 for ASUS PhysX P1? It's not worth it, in our opinion.
We should also mention a nasty effect (you can see it in the grenade explosion video at the link above): when you use PPU, all small shards that fly from an explosion epicenter disappear in the air as soon as the explosion is over. Strange, isn't it? We'll get back to this fact in the concluding chapter of our article.
CellFactor: Combat Training
As we didn't manage to get Bet on Soldier with the Expansion Pack and City of Villains is MMORPG, we were forced to go from sterling games to demos, written to demonstrate PPU. (Thus, GRAW was almost the only sterling game with PPU PhysX support at the time of our tests.)
The first and the most popular demo is definitely CellFactor: Combat Training, which (officially) does not start up on computers without PPU.
The game currently has just a single level (it resembles an open map from Quake 3 Arena with lots of lumber scattered in corners and corridors - cases, exploding barrels, pipes, and other construction materials), where happy PPU owners can battle:
CellFactor is a good practical proof of our theoretical assumption that PPU is the quantitative improvement of the existing physical effects in the first place. In 2003 Max Payne 2 was capable of dropping 5 cases from the shelves, now it can do 500 cases simultaneously.
The problem is that all this physical debris interferes with gameplay rather than improves it. Yep, explosions and flying shards look great — the first five times. Then you get used to this splendor and... you find out that the gameplay is still on the 1997 level.
By the way, what concerns running CF demo without PPU: it hasn't taken some skilled programmers long to find a command line parameter to run the demo without a PPU. We've tried it and got the following results: explosions are noticeably slow without PPU; and when a so-called "sail" gets to the screen (a suspended piece of realistically deforming fabric with triangular holes from shots), fps drops to one-digit values.
Thus, CellFactor demo demonstrates that PPU indeed accelerates complex physical effects, based on multiple collisions of many game objects.
Now we have to find out whether PPU is capable of more than just quantitative improvements in old effects.
The next demo to review is Switchball. This game is a funny puzzle mostly based on physical effects. Full version of Switchball can be bought on the developer's web site.
You have to guide a ball through a labyrinth in the air — pushing wooden cases, building bridges over precipices, and cleaning out passages with water throwers.
Switchball allows to disable hardware physics in its settings, but an attempt to play the game without it results in the following messages:
It looks suspicious: We doubt that computing an unrealistic-looking water jet consisting of large particles (see screenshots of the PPU system) is so heavy a burden for a CPU that you cannot even try it. It seems like a purely marketing decision.
Stoked Rider: Big Mountain Snowboarding
The last demo in our today's review is Stoked Rider: Big Mountain Snowboarding.
This game does not allow to choose whether to use PhysX or not either.
But it still runs well without PPU and demonstrates the same (frankly
speaking, nothing special) quality of graphics and effects:
We are not even going to comment: screenshots speak for themselves.
We have examined the first physical coprocessor — Ageia PhysX PPU. The main problem of this card today is insufficient support in games.
Support in games, API standardization
Ageia web site publishes a list of PC games to be released soon that support PPU. Here are the most interesting games:
Not many, eh? Ageia has a better situation with developers and publishers' support for its initiatives and hardware: over 60 companies have already agreed to support PPU in their future projects. But these are just bright prospects — the cards are already available and they are not cheap.
A positive victory of Ageia is the integration of API PhysX into the middlware-engine Unreal Engine 3. So we can expect that some games based on this engine may support hardware physics acceleration. (Note that UE3 also offers the omnipresent Havok engine as an alternative.)
Another PPU PhysX success is the agreement between Ageia and Sony, concluded last year in summer, according to which API PhysX will be included into the standard developers' tools for PlayStation 3.
However, it won't help much to increase PPU sales, if hardware physics effects will be still like in GRAW — not very interesting.
Besides, we have certain doubts whether complex physics effects should be built into all new games. Some projects just don't need complex physics, some of them will do with CPU and GPU capacities. The latter can actually use API PhysX — in this case physical computations will be done by PPU instead of CPU and GPU, if it's available in the system.
The second major problem of PhysX PPU is its closed sources: Ageia allows to use PPU only through its own closed API. History shows that this approach has no prospects, as a rule. Though it often allows a quick startup from scratch. In our opinion, Ageia would have done better by opening the PPU architecture to APIs of its competitors — API Havok in the first place — retaining the exclusive right to manufacture PhysX chips. This step would have contributed to much more aggressive promotion of PPU Ageia support in game projects — developers would have surely welcome an API choice.
And finally, everybody knows that only those APIs that are included into Microsoft DirectX are truly successful. In future Ageia must strive for standardization of its architecture in DirectX — it will make the company a monopolist de facto on the market of physics accelerators and will significantly weaken Havok's positions. A stand-alone software physics engine will not be necessary, when you have a free counterpart in DirectX. And if this API DirectPhysics will be accelerated by PPU from Ageia, competitors will stand no chances.
However, there is an underwater part of the iceberg here — by manufacturing PPU, Ageia steps on the toes of such small companies as Intel, AMD, ATI, and NVIDIA.
It should be said that PPU was launched in time: CPU capacities will be insufficient to compute physics effects in games in the nearest one or two years. The reason is the launch of the new generation of game consoles that use special multi-core processors (3-core CPU with 6 logical processors in Xbox 360; 1+7-core Cell processor in PlayStation 3). They will be mostly used to compute physics effects.
As most game projects are currently developed for all main platforms to maximize profits, the cross-platform API PhysX, supported by special hardware on the Windows platform, will be very attractive to many developers.
On the other hand, any code for processors in new-gen consoles will run no less effectively on modern x86 processors. Right now the eternal competitors Intel and AMD are introducing multi-core x86 processors.
Even now dual core processors from Intel cost less than $200 — cheaper than PPU! After another price drop in the nearest future, dual core processors will go down to $100. And one of the two sterling x86 cores will have to do something in new games. What will it do?
According to Ageia, CPU must compute AI and perform general gaming tasks. In Ageia's scheme, GPU is responsible for rendering and PPU — for physics effects.
The problem of this scheme is that AI and general tasks will hardly load all CPU cores by 100%. Of course, dual core processors cannot compete with PPU PhysX in computing collisions. But they (1) can be the golden mean between a complete lack of physics and support for an expensive and rare physics coprocessor, (2) can still realize physical effects that are not available to rather limited PPUs. Support for multicore processors (multithreaded physics computations) is implemented not only in Havok engine, but in Ageia's API as well. That's why we have an opinion that games to be released in the nearest future will have physics computed by dual core CPU, not by PPU.
Moreover, looking into the distant future, we forecast big problems for Ageia in its competition with Intel and AMD. The fact is that the first 4-core x86 processors should appear already in 2007. It will be rather difficult to use them for anything but computing physical effects in games. And finally, increasing a number of cores stops making sense at some stage of the x86 architecture development — but it will be still useful to upgrade simple pipelines designed for executing certain operations. That is PPU as such will be integrated into a CPU die at some stage.
However, these are distant prospects. As for now, PPU Ageia looks victorious versus dual core CPUs.
Another offensive to physics coprocessors is new video chips from ATI and NVIDIA. Modern graphics technologies are so flexible and programmable that can compute some physical effects. It looks logical: GPU has to render physics effects anyway, so why not use it to compute them as well?
(By the way, speaking of rendering. One of the PPU problems that Ageia hushes up is the necessity to render all these effects computed by the coprocessor. That's where PPU can do nothing to help an overloaded video card. In other words, increasing a number of physically interacting objects is good only when GPU can render them with acceptable speed. That's one of the bottlenecks of a physics accelerator: PPU can compute billions of collisions between hundred thousands of objects — but what will be able to render them all? That may be the reason for disappearing shards in GRAW after the explosion is over.)
Havok is actively promoting the initiative with having physics computed by GPU in its API Havok FX — evidently to counterbalance the growing influence of Ageia PhysX on game developers. Havok FX allows modern GPUs to compute collisions of game objects. We should make a reservation here: ATI and NVIDIA currently promote tandems of two or even three video cards to support physics, one of which is dedicated solely to computations of physics effects.
It's a questionable solution: modern video cards are usually more expensive than PPU PhysX, they get hotter, and they are noisier. However, a setup with one or two video cards looks interesting due to its inherent flexibility: if you have two video cards, you can choose how to use this tandem on your own. You can use both video cards to render frames (SLI or CF), or you can dedicate one to physics computations and be content with lower frame rates, but better quality of special effects.
Thus, even if an application does not support physics computations by GPU, your second video card will not be idle — unlike PPU, which can be used only for computing physics.
Besides, GPUs can be improved in future to do better at computing physics (sort of integrating PPU into GPU). After this upgrade, physical computations may be executed well by just a single video card (in fact, a single video card can compute physics well even now — it will just result in intolerable performance drops).
It should also be noted that to all appearances, API DirectPhysics will be similar to API Havok FX to be released soon. That is DirectPhysics will also rely on a GPU. That's not a good sign for Ageia. If PPU PhysX remains a proprietary solution, it has practically no chances to conquer the market.
So, we are currently forced to establish a fact that PPU Ageia PhysX is insufficiently supported by games.
The PPU itself certainly possesses an outstanding potential in accelerating certain physical effects. But time will show whether this potential is realized in practice.
On the other hand, Ageia is pressed for time: constantly cheapening multicore processors and active development of algorithms and ways to compute physics with new GPUs leave PPU little room for manoeuvre.
If PPU and API PhysX are not widely supported by the industry in the nearest several years, new multicore CPUs and GPUs optimized for physics computations will become the new leaders on the market of hardware physics acceleration.
We'll keep tabs on this situation in future. We may get back to testing PPU PhysX, when there appear new popular games on the market that have their physics effects computed by the PhysX coprocessors from Ageia.
Danil Gridasov (firstname.lastname@example.org)
June 21, 2006
Write a comment below. No registration needed!