The summary of the information below is that AGEIA would like to go on record that we do not have data to support performance comparisons for the PS3 or Xbox360 that would impact any of our physics features. Specifically, statements that the Xbox360 cannot run fluid simulations are not correct. In addition, conclusions about relative performance should not have been stated or implied in our presentations.
Our recent presentations created confusion and debate. Please allow us to clarify the statements we made and correct inferences in things we did not say.
Tom Lassanske is one of the lead AGEIA technical people working with developers. The presentation that caused this issue was given at several conferences, including MS GameFest. The presentation at GDC Europe was presented by one of the European staff, not Tom.
The summary of the section of the presentation is below.
The middle section of the 58-slide presentation is all about how platforms with different processor configurations can map to physics simulation, ranging from single core PC to platforms with more processors. A developer requires at minimum “game-play” physics, but must anticipate that different hardware will have different levels of capability for more advanced simulation. Physics has a different characteristic for level of detail in that the game must handle a wide range of capabilities directly. There is no intrinsic knob that can be turned to reduce the level of detail such as screen resolution in graphics.
The presentation uses implied assumptions on the relative power of the platforms from single core, dual core, console and PC-with-PhysX platforms, based on publicly-available information. The only platforms for which there is actual comparison data at AGEIA are the single core PC, dual core PC and PhysX platforms. There is no current data on the PS3 or Xbox360 on relative performance. The implied difference in performance was from assumptions about the number of compute elements and memory architectures, and how well these might fit to various simulation algorithms as enabled by typical game developers. The difficulty in predicting performance across platforms is that physics is inside a game loop where many other game-related processing is taking place. Again, we don’t have a simple metric like fill-rate that is greatly dependent on the capabilities of the graphics chip and less dependent on what is going on in the game.
The statement has been made that there is a problem with fluid simulations on the Xbox360. There is no data to support this statement nor was this meant to be implied. The Xbox360 obviously has a great deal of compute power and the PowerPC processor is a very capable processor for physics simulation. Our SDK already runs on the Xbox360 and that SDK includes fluid simulation. This is the same SDK that operates on the single core PC and dual core PC. Again, we have not experienced any problems operating any type of simulation on any platform.
The goal of a cross platform SDK is to expose the same features so we enable developers to target that same level of physics features, although, as I stated earlier, the physics effect might have to be scaled across different platforms. Our sources of game titles for our PhysX product are the console and PC title developers that need the highest performance out of their chosen platform. We will do our utmost to get the highest performance from any platform or a competitor will do it instead.
The last point is to correct a factual error in the last paragraph of the ExtremeTech article. The physics computations of the boulder demonstration were running in software in the first case (typically between 4-6 fps on high-end PC processors), consuming almost all of the CPU cycles; and on the PhysX processor in the second case (typically between 40-50 fps), consuming around 20% of one processor (mostly for graphics, with some small overhead for PhysX synchronization). In the past we have hesitated to quote these numbers because of the difficulties in interpreting their meaning. In the case with the PhysX processor on our boulder demonstration, the CPU is doing very little work and thus has idle cycles that could be used for other purposes (making the game more fun), so the differences in frame rate are not meaningful. A more meaningful comparison is one where the software-only demonstration gives the physics a fraction (10%) of the CPU time, as is typical in all games, compared with a PhysX processor example where the same game is running and the PhysX processor offloads the physics calculations. The same comparison can be made between a software-only demonstration on a dual core PC with the appropriate loading and a PhysX plus dual core system. In both comparisons, you would see a much greater difference in capability.