Mafia II: PhysX Tested, HotHardware Reviewed
The term APEX is also used when discussing PhysX in Mafia II, often in ways that don't explain the difference between the two. NVIDIA describes the difference as follows: "Rather than providing a low-level API that requires a programmer to use it, APEX creates an environment where artists can create complex high-level dynamic systems without depending on developers. Because APEX is completely artist focused, APEX provides the artist easy to use authoring tools, designed to let the content creator focus on the game, rather than struggle with low-level APIs."
In the game menus, the setting is referred to as "APEX PhysX" and can be set to medium or high. Hardware PhysX in Mafia II is used to generate fog, skid marks, debris interaction/collision, and, in some cases, advanced cloth simulation. When PhysX is engaged, clothing on characters will flutter and move in response to shifts in position or gusts of air—but the game runs this on the CPU by default. If you want this code to run on the GPU, you'll need to both install a dedicated PhysX card and set the NVIDIA Control Panel to run CUDA/PhysX code on it (as opposed to leaving these settings on Auto).
There are several ways to manually adjust which PhysX subroutines are executed when hardware PhysX is engaged, several of which are detailed at Physxinfo.com. If your CPU isn't sufficiently fast to handle having PhysX turned on, but you want the benefits of using it, we recommend consulting that site.
The Effect of PhysX On Mafia II's Clothing
Clothing in Mafia II is well-rendered regardless of whether or not you use PhysX; the designers clearly went to some trouble to ensure that textures and fabrics wouldn't resemble 2D paintings. The screenshots below are drawn from the default benchmark program—but we had to search for specific angles to show how PhysX changes what's drawn on screen.* The images on the left were taken without PhysX enabled, images on the right were taken with PhysX on Medium. The difference in cloth rendering between Medium and High is extremely small.
The static mesh shots with PhysX off aren't much less detailed than the Physx-enabled versions, but Vito's trench coat hangs quite differently. To be fair, the static mesh represents the status quo of gaming; developers tend to design form-fitting clothing for characters to avoid the rendering problems in the images above. The use of PhysX neatly sidesteps the problem; Vito's trenchcoat hangs normally and realistically, even when he's bent around a pillar or taking cover.
*Note: PhysX is also used in-game to generate realistic ripples and movements as garments or fabric moves in the wind. This affect is impossible to screenshot.