Archive for the ‘Article’ tag
PC version of recently released Metro: Last Light title features not only vivid DX11 based graphics, but also hardware accelerated PhysX effects.
In the following article we’ll try to gather the most reliable and accurate GPU PhysX benchmarks and tests for this game.
[14.05.2013] Metro Last Light – GPU Test by GameGPU
Sufficient amount of NVIDIA GPUs was tested in this article with the help of Metro’s built-in benchmark. However, since heavy graphics options (like SSAA) were used, it is hard to determine actual PhysX performance.
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.
Time to update PhysX performance metrics of NVIDIA GPUs with newest title with Hardware PhysX support – Batman: Arkham City.
In following article we’ve tried to gather all the benchmarks and tests, published on the web.
[25.11.2011] Batman Arkham City im Technik-Test: Grafikkarten-, DirectX-11- und Physx-Benchmarks by PCGamesHardware.de
German article with graphics benchmarks, overview of DX 11 and PhysX features, and a superficial PhysX tests.
Alice: Madness Returns – first game with GPU PhysX support this year and title with most impressive PhysX particle effects.
To determine hardware PhysX performance patterns and GPU requirements we tried to gather all PhysX focused articles and benchmarks, available so far.
[18.06.2011] Alice: Madness Returns GPU test by GameGpu.ru
One of the first articles with proper GPU PhysX benchmarks.
According to their test, only top level NVIDIA GPUs can ensure decent framerate, while used for both graphics and PhysX calculations (however, from our experience, only most intensive PhysX scenes are affecting performance so negative).
Two new research papers have landed on a homepage of Dr. Matthias Müller-Fischer, PhysX SDK Research Lead in NVIDIA and NovodeX co-founder.
Fisrst one, called “Real-Time Eulerian Water Simulation Using a Restricted Tall Cell Grid“, presents further impovements to the real-time hybrid fluid solver, that we were able to see in recent demos like Lighhouse and Raging Rapids Ride.
We present a new Eulerian fluid simulation method, which allows real-time simulations of large scale three dimensional liquids. Such scenarios have hither to been restricted to the domain of off-line computation. To reduce computation time we use a hybrid grid representation composed of regular cubic cells on top of a layer of tall cells. With this layout water above an arbitrary terrain can be represented without consuming an excessive amount of memory and compute power, while focusing effort on the area near the surface where it most matters. Additionally, we optimized the grid representation for a GPU implementation of the fluid solver.
To further accelerate the simulation, we introduce a specialized multigrid algorithm for solving the Poisson equation and propose solver modifications to keep the simulation stable for large time steps. We demonstrate the efficiency of our approach in several real-world scenarios, all running above 30 frames per second on a modern GPU. Some scenes include additional features such as two-way rigid body coupling as well as particle representations of sub-grid detail.
NVIDIA has uploaded last piece of APEX Framework puzzle – actual APEX SDK component. Now, it is time to take detailed overview on APEX features and structure.
UPDATE: APEX SDK 1.1 is available.
So what is NVIDIA APEX ? APEX is multi-platform scalable developement framework, designed to reduce development time and costs when creating complex physics content.
APEX addresses following typical problems:
- Significant programmer involvement is required to take a relatively abstract PhysX-SDK and create a lot of meaningful content.
APEX provides a high-level interface to artists and content developers. This reduces the need for programmer time, adds automatic physics behavior to familiar objects, and leverages multiple low-level PhysX-SDK features with a single easy-to-use authoring interface.
- Game physics content typically gets designed to the game’s “min-spec” system.
APEX requires each functional module to provide one or more ways to “scale the content” when running on better-than-min-spec systems, and to do this without requiring a lot of extra work from the game developer (artist or programmer, but especially programmer).
- Game engine performance limitations.
APEX avoids many of the game engine bottlenecks by allowing the designer to identify the physics that is important to the game logic, and what can be sent directly to the renderer, bypassing the fully generic path through the game engine.
It also allows the game engine to treat an APEX asset as a single game object, even though it may actually comprise many hundreds or even thousands of low-level physics components.
Authoring tools (DCC plug-ins for 3ds Max/Maya and standalone PhysXLab app) are used create and tune physics assets (for example, destructible wall) while runtime component (APEX SDK) is responsible for deserialization, LOD, data management and interaction with game engine. Accordingly, APEX SDK must be integrated with your engine before you’ll be able to use APEX assets.
Few facts about APEX 1.0 Beta:
- APEX is not the replacement for PhysX SDK, nor the new version of it. It is a layer that sits on top of the PhysX SDK.
- APEX 1.0 public Beta includes Clothing and Destruction modules (and partially – Particles module).
- APEX is free for commercial and non-commercial use.
- All necessary documentation and tutorials are included with APEX 1.0 package.
- APEX supports PC, PS3 and Xbox 360 (with optimizations for consoles), and but only PC version is available for public currently.
- APEX is based on latest PhysX SDK 2.8.4 and does not require PhysX System Software installation.
How to download APEX: Follow this guide and register PhysX Developer account.
Go to [Online Support] -> [Download]
- [APEX] -> [APEX PhysX Lab Beta] -> NVIDIA APEX PhysX Lab-126.96.36.199 for PhysXLab (APEX Destruction authoring)
- [APEX] -> [APEX DCC Clothing Plugins] -> [Max 2.60 beta] -> NVIDIA PhysX Plug-in 3dsMax20– x– WithAPEX 2.60.– for 3ds Max PhysX plug-in (APEX Clothing authoring, don’t forget to choose proper 3ds Max version)
- [APEX] -> [APEX DCC Clothing Plugins] -> [Maya 2.6 beta] -> NVIDIA PhysX Plug-in Maya20– x– WithAPEX 2.60.– for Maya PhysX plug-in (APEX Clothing authoring, don’t forget to choose proper Maya version)
- [APEX] -> [APEX SDK Beta] -> APEXSDK-1.0.39 beta-PhysX_188.8.131.52-WIN-VC9 for APEX SDK (game engine integration)
You don't need to download PhysX SDK, or PhysX System Software, or anything else.
Now let’s see what is included in APEX 1.0 public Beta package:
Physical simulation of character clothing is yet inceptive, but very promising trend and a great way to make game characters more believable.
We are giving an overview of most interesting cloth simulation packages in our new article : “Clothing simulation solutions for games“.
Interesting paper, called “Scalable Fluid Simulation using Anisotropic Turbulence Particles” has appeared at homepage of Dr. Markuss Gross, from ETH Zurich.
As far as we know, same solver is used in APEX Turbulence module.
It is usually difficult to resolve the fine details of turbulent flows, especially when targeting real-time applications. We present a novel, scalable turbulence method that uses a realistic energy model and an efficient particle representation that allows for the accurate and robust simulation of small-scale detail. We compute transport of turbulent energy using a complete two-equation k–e model with accurate production terms that allows us to capture anisotropic turbulence effects, which integrate smoothly into the base flow. We only require a very low grid resolution to resolve the underlying base flow.
As we offload complexity from the fluid solver to the particle system, we can control the detail of the simulation easily by adjusting the number of particles, without changing the large scale behavior. In addition, no computations are wasted on areas that are not visible. We demonstrate that due to the design of our algorithm it is highly suitable for massively parallel architectures, and is able to generate detailed turbulent
In addition, this paper comes with nice video demonstration (92 mb). It is worth to watch.
Thanks to AquaGeneral for the link.
Another paper called “Real-Time Simulation of Large Bodies of Water with Small Scale Details” (you can find previous one, Wrinkle Meshes, here) has arrived from Dr. Matthias Müller-Fischer, PhysX SDK research lead at Nvidia Switzerland.
Paper is decribing hybrid grid- and – particle based fluid solver used in latest, and technically most impressive, demo from Nvidia – Raging Rapids Ride.
We present a hybrid water simulation method that combines grid based and particles based approaches. Our specialized shallow water solver can handle arbitrary underlying terrain slopes, arbitrary water depth and supports wet-dry regions tracking. To treat open water scenes we introduce a method for handling non-reflecting boundary conditions. Regions of liquid that cannot be represented by the height field including breaking waves, water falls and splashing due to rigid and soft bodies interaction are automatically turned into spray, splash and foam particles.
The particles are treated as simple non-interacting point masses and they exchange mass and momentum with the height field fluid. We also present a method for procedurally adding small scale waves that are advected with the water flow. We demonstrate the effectiveness of our method in various test scene including a large flowing river along a valley with beaches, big rocks, steep cliffs and waterfalls.
We still hope that this solver will make it into next, 3.x release of PhysX SDK.
In addition, demonstrational video is available (61 mb)