Archive for the ‘Articles, Reviews’ Category
PlanetSide 2 is an MMO first-person shooter under development by Sony Online Entertainment and, along with Hawken, another title with GPU PhysX support arriving this year.
Update: initial release of PlanetSide 2 won’t have any of the GPU PhysX effects, they will be added later, in one of the patches.
Recent beta patch has added preliminary PhysX content to the game and we decided to give it an inspection.
PlanetSide 2 is the first major game title to utilize PhysX SDK 3.x (SDK 3.2 specifically). PhysX integration is powering almost every physics calculation in the game – collision and hit detection, character controller, aerial and land vehicle physics and so on. As interesting note, PlanetSide is also using upcoming APEX Dynamic Systems module for vehicle modelling.
Hawken, upcoming online mech-based shooter with GPU PhysX support, has entered stage #2 of closed beta testing. We have decided to examine the current state of hardware accelerated PhysX content in this title.
Update: PhysX effects in Hawken Open Beta. What has changed ?
But so far, only lowest level of PhysX Effects (“PhysX Particles – Low” option) is available, which includes only physical particles of various types – impact debris, scraps from explosions and destroyed robots, concrete chunks as result of mech movement.
Current effects are looking not bad, but to be honest, some additional polishing won’t hurt (for example, particles are not casting shadows and impacts on metal surfaces should emit sparks, not debris). Let’s just blame the Beta state.
Of course, one can disable all extra PhysX content completely, by setting “PhysX Particles” option to “Off”.
As it was announced previously, APEX Turbulence and APEX Destruction modules will also make their appearance in this game, but we don’t have a confirmation currently, whether they will available at launch or released as post-launch update.
As the release date (December 12) approaches, we will try to keep a close eye on Hawken. Meanwhile, you can join the discussion at our forum.
Almost any user, who played games utilizing PhysX SDK physics engine (either with GPU acceleration support or software only), must be familiar with PhysX System Software (PSS, also known as PhysX Driver) – special package that includes core DLL libraries for physics engine to operate correctly and some firmware components, and is required for installation regardless of whether you have NVIDIA GPU or not.
This is how it works: PhysX Loader, located in game’s directory, loads corresponding core DLLs of PhysX engine from PSS installation folder. GPU acceleration DLLs (PhysX and CUDA Device Managers) are acquired from PSS distribution, if required. Supplementary libraries (like Character Controller DLL), in comparison, can be stored in local folder.
Note: one must have noticed that many older games store core engine libs locally, but still require a PSS installation.
For the most part, pre-2.8.4 PhysXCore.dll files in game directories are the result of special requirements of certain engines (like UE3) or installers that include unneeded DLLs.
PhysX System Software installation requirement was firstly introduced by Ageia in 2006, and obviously such approach has its own advantages and disadvantages.
Borderlands 2 is latest and one of the best GPU PhysX titles so far, but what system do you need to handle it efficiently ?
In following article we’ll try to gather all reliable PhysX benchmarks and tests, published on the web, to determine the GPU and CPU performance patterns of this title.
[19.09.2012] Borderlands 2 – GPU Test by GameGPU
One of the first articles with PhysX performance comparison, includes wide range of NVIDIA GPUs tested. At the same time, scene, choosen for benchmark, is too simplistic and does not fully represent load during actual gameplay.
Rui Casais, Chief Technology Officer at Funcom, has joined us today to shed some light on how the company plans to further utilize the PhysX engine in their current and future projects.
PhysXInfo.com: So what exactly is the server-side PhysX, integrated into Dreamworld engine?
Rui Casais: One of the most computational expensive operations we do in our servers is collision checking. Due to the nature of PC gaming, we can never trust the client and have to therefore validate all the player movement in the server.
We had a homebrew collision system that worked ok, but when it comes down to it nothing beats the performance of a physics library like PhysX for collision checks.
In addition to this the addition of PhysX makes it possible for us to do more interesting physics simulation in the future, collision is just the beginning.
PhysXInfo.com: Since PhysX SDK has replaced your own collision detection system, has it resulted in any performance improvements or ability to implement new physics features?
Rui Casais: Server performance doubled when using PhysX, and we plan to expand on the physics side of gameplay in the future, although that isn’t a simple problem to tackle. But we like challenges!
Borderlands 2 from Gearbox Software, first title with GPU PhysX title of Year 2012, has occupied the hearts and minds of many PC gamers the last week.
Finally, we are also ready to present our PhysX oriented review of the game and, of course, usuall comparison video, showcasing additional PhysX effects.
In depth overview of the PhysX content and description of the differences between PhysX settings can be found in “Blood, Goo, & Destruction: A Close Look At PhysX In Borderlands 2” article at GeForce.com.
Now, let’s proceed to the review.
Borderlands 2, latest and probably one of the greatest games with support for GPU accelerated PhysX effects, is a HOT topic these days.
Update: GPU PhysX in Borderlands 2 – PhysX review and comparison video
Update #2: Borderlands 2 PhysX Benchmark Roundup
Usually, extra PhysX effects are meant to be executed on compatible NVIDIA GPUs, so even if one can force his CPU to do the work, it is not very effective – massive slowdowns and fps drops during scenes with intence physics are make the games hardly enjoyable. This is valid for titles like Batman series, Alice: Madness Returns, Mafia II and others.
Said matter was a tough topic over recent years, even resulting in claims that NVIDIA “hobbles” the CPU PhysX performance by purpose, to make their GPUs look more advantageous.
However, recently we saw many reports (mostly from AMD users) that Borderlands 2 shows surprisingly good performance, while running with all PhysX effects enabled even without a NVIDIA card in the system.
Thus, we decied to perform a little investigation to answer the question – can a CPU handle all the extra PhysX effects in Borderlands 2 ?
A boss fight against “Boom and his brother Bewm” is a good candidate for PhysX testing – scene contains a lot of particles (also, particles are constantly generated over time) and some cloth objects.
We want to draw your attention to the following SIGGRAPH 2012 paper, called “Mass Splitting for Jitter-Free Parallel Rigid Body Simulation” by Richard Tonge (NVIDIA), Feodor Benevolenski (NVIDIA) and Andrey Voroshilov (NVIDIA).
We present a parallel iterative rigid body solver that avoids common artifacts at low iteration counts. In large or real-time simulations, iteration is often terminated before convergence to maximize scene size. If the distribution of the resulting residual energy varies too much from frame to frame, then bodies close to rest can visibly jitter. Projected Gauss-Seidel (PGS) distributes the residual according to the order in which contacts are processed, and preserving the order in parallel implementations is very challenging. In contrast, Jacobi-based methods provide order independence, but have slower convergence.
We accelerate projected Jacobi by dividing each body mass term in the effective mass by the number of contacts acting on the body, but use the full mass to apply impulses. We further accelerate the method by solving contacts in blocks, providing wallclock performance competitive with PGS while avoiding visible artifacts. We prove convergence to the solution of the underlying linear complementarity problem and present results for our GPU implementation, which can simulate a pile of 5000 objects with no visible jittering at over 60 FPS.
As you may see, one of the main features of this solver is fast and stable simulation without jittering, even with high number of contacts.
Thanks to Jesse Stiller for the link.
More interesting papers from PhysX research team and Dr. Matthias Müller-Fischer, PhysX SDK Research Lead in NVIDIA.
We present a GPU friendly, Eulerian, free surface fluid simulation method that conserves mass locally and globally without the use of Lagrangian components. Local mass conservation prevents small scale details of the free surface from disappearing, a problem that plagues many previous approaches, while global mass conservation ensures that the total volume of the liquid does not decrease over time. Our method handles moving solid boundaries as well as cells that are partially filled with solids. Due to its stability, it allows the use of large time steps which makes it suitable for both off-line and real-time applications.
We achieve this by using density based surface tracking with a novel, unconditionally stable, conservative advection scheme and a novel interface sharpening method. While our approach conserves mass, volume loss is still possible but only temporarily. With constant mass, local volume loss causes a local increase of the density used for surface tracking which we detect and correct over time. We also propose a density post-processing method to reveal sub-grid details of the liquid surface.We show the effectiveness of the proposed method in several practical examples all running either at interactive rates or in real-time.
At some point this research may be made into new APEX module, according to our information.
Autodesk and NVIDIA continue their effort to create the universal physics simulation system for 3ds Max package – it is known as MassFX.
What has changed in new MassFX version, that comes with 3ds Max 2013, in comparison to the first release? We have tried to answer this question in our review.
One of the main new features of MassFX 2013 is the addition of mCloth – cloth simulation module, which was co-developed with Autodesk. Despite the rumors, mCloth uses PhysX 2.8.4 cloth solver for underlying physical calculations.
In comparison to APEX Clothing tools in PhysX plug-ins, mCloth is clearly oriented on VFX area: “one click” set up (no need to skin the mesh and apply movement constraints, as for APEX), full collisions with MassFX rigid bodies with two-way interaction, vertex group operations (like pin or attach to object), support for dynamic and kinematic cloth, ability to bake the simulation in keyframes.