ATI Radeon HD 4890 vs. NVIDIA GeForce GTX 275
by Anand Lal Shimpi & Derek Wilson on April 2, 2009 12:00 AM EST- Posted in
- GPUs
Mirror’s Edge: Do we have a winner?
And now we get to the final test. Something truly different: Mirror’s Edge.
This is an EA game. Ben had to leave before we got to this part of the test, he does have a wife and kid after all, so I went at this one alone.
I’d never played Mirror’s Edge. I’d seen the videos, it looked interesting. You play as a girl, Faith, a runner. You run across rooftops, through buildings, it’s all very parkour-like. You’re often being pursued by “blues”, police offers, as you run through the game. I won’t give away any plot details here but this game, I liked.
The GPU accelerated PhysX impacted things like how glass shatters and the presence of destructible cloth. We posted a video of what the game looks like with NVIDIA GPU accelerated PhysX enabled late last year:
"Here is the side by side video showing better what DICE has added to Mirror's Edge for the PC with PhysX. Please note that the makers of the video (not us) slowed down the game during some effects to better show them off. The slow downs are not performance related issues. Also, the video is best viewed in full screen mode (the button in the bottom right corner)."
In Derek’s blog about the game he said the following:
“We still want to really get our hands on the game to see if it feels worth it, but from this video, we can at least say that there is more positive visual impact in Mirror's Edge than any major title that has used PhysX to date. NVIDIA is really trying to get developers to build something compelling out of PhysX, and Mirror's Edge has potential. We are anxious to see if the follow through is there.”
Well, we have had our hands on the game and I’ve played it quite a bit. I started with PhysX enabled. I was looking for the SSD-effect. I wanted to play with it on then take it away and see if I missed it. I played through the first couple of chapters with PhysX enabled, fell in lust with the game and then turned off PhysX.
I missed it.
I actually missed it. What did it for me was the way the glass shattered. When I was being pursued by blues and they were firing at me as I ran through a hallway full of windows, the hardware accelerated PhysX version was more believable. I felt more like I was in a movie than in a video game. Don’t get me wrong, it wasn’t hyper realistic, but the effect was noticeable.
I replayed a couple of chapters and then played some new ones with PhysX disabled now before turning it back on and repeating the test.
The impact of GPU accelerated PhysX was noticeable. EA had done it right.
The Verdict?
So am I sold? Would I gladly choose a slower NVIDIA part because of PhysX support? Of course not.
The reason why I enjoyed GPU accelerated PhysX in Mirror’s Edge was because it’s a good game to begin with. The implementation is subtle, but it augments an already visually interesting title. It makes the gameplay experience slightly more engrossing.
It’s a nice bonus if I already own a NVIDIA GPU, it’s not a reason for buying one.
The fact of the matter is that Mirror’s Edge should be the bare minimum requirement for GPU accelerated PhysX in games. The game has to be good to begin with and the effects should be the cherry on top. Crappy titles and gimmicky physics aren’t going to convince anyone. Aggressive marketing on top of that is merely going to push people like us to call GPU accelerated PhysX out for what it is. I can’t even call the overall implementations I’ve seen in games half baked, the oven isn’t even preheated yet. Mirror’s Edge so far is an outlier. You can pick a string of cheese off of a casserole and like it, but without some serious time in the oven it’s not going to be a good meal.
Then there’s the OpenCL argument. NVIDIA won’t port PhysX to OpenCL, at least not anytime soon. But Havok is being ported to OpenCL, that means by the end of this year all games that use OpenCL Havok can use GPU accelerated physics on any OpenCL compliant video card (NVIDIA, ATI and Intel when Larrabee comes out).
While I do believe that NVIDIA and EA were on to something with the implementation of PhysX in Mirror’s Edge, I do not believe NVIDIA is strong enough to drive the entire market on its own. Cross platform APIs like OpenCL will be the future of GPU accelerated physics, they have to be, simply because NVIDIA isn’t the only game in town. The majority of PhysX titles aren’t accelerated on NVIDIA GPUs, I would suspect that it won’t take too long for OpenCL accelerated Havok titles to equal that number once it’s ready.
Until we get a standard for GPU accelerated physics that all GPU vendors can use or until NVIDIA can somehow convince every major game developer to include compelling features that will only be accelerated on NVIDIA hardware, hardware PhysX will be nothing more than fancy lettering on a cake.
You wanted us to look at PhysX in a review of an ATI GPU, and there you have it.
294 Comments
View All Comments
sbuckler - Thursday, April 2, 2009 - link
Big difference between Havok Physics and HavokFX physics. With physx you can just turn on hardware acceleration and it works, with havok this is not possible - unlike physx it was never developed to be run on the gpu. Hence havok have had to develop a new physics engine to do that.No game uses the HavokFX engine - it's not even available to developers yet let alone in shipped games. The ati demo was all we have seen of it for several years. It's not even clear HavokFX is even a fully accelerated hardware physics engine - i.e. the version showed in the past (before intel took over havok) was basically the havok engine with some hw acceleration for effects. i.e. hardware accel could only be used to make it prettier explosions and rippling cloth - it could not be used to do anything game changing.
Hence havok have a way to go before they can even claim to support what physX already does, let alone shipping it to developers and then seeing them use it in games. Like I said the moment that comes close to happening nvidia will just release an OpenCL version of physX and that will be that.
z3R0C00L - Thursday, April 2, 2009 - link
It's integrated in the same way. Many game developers are already familiar with coding for Havok effects.Not to mention that OpenCL has chosen HavokFX (which is simply using either a CPU or a GPU to render Physics effect as seen here: http://www.youtube.com/watch?v=MCaGb40Bz58">http://www.youtube.com/watch?v=MCaGb40Bz58.
Again... Physx is dead. OpenCL is HavokFX, it's what the consortium has chosen and it runs on any CPU or GPU including Intel's upcoming Larrabee.
Like I said before (you seem to not understand logic). Physx is dead.. it's proprietary and not as flexible as Havok. Many studios are also familiar with Havok's tools.
C'est Fini as they say in french.
erple2 - Friday, April 3, 2009 - link
I think you're mistaken - OpenCL is analogous to CUDA, not to PhysX. HavokFX is analogous to PhysX. OpenCL is the GPGPU compiler that runs on any GPU (and theoretically, it should run on any CPU too, I think). It's what Apple is now trying to push (curious, given that their laptop base is all nVidia now).However, if NVidia ports PhysX to OpenCL, that's a win for everyone. Sort of. Except for NVIdia that paid a lot of money for the PhysX IP. I think that the conclusions given are accurate - NVidia is banking on "everyone" (ie Game Developers) coding for PhysX (and by extension, CUDA) rather than HavokFX (and by extension, OpenCL). However, if Developers are smart, they'll go with the actually open format (OpenCL, not CUDA). That means that any physics processing they do will work on ANY GPU, (NVidia and ATI). I personally think that NVidia banked badly this time.
While I do believe that doing physics calculations on unused GPU cycles is a great thing (and the Razor's Edge demo shows some of the interesting things that can be done), I think that NVidia's pushing of PhysX (and therefore CUDA) is like what 3dfx did with pushing GLide. Everyone supported Direct3D and OpenGL, but only 3dfx supported Glide. While Glide was more efficient (it was catering to a single hardware vendor that made Glide, afterall), the fact that Game Developers could instead program for OpenGL (or Direct3D) and get all 3D accelerators supported meant that the days of Glide were ultimately numbered.
I wonder if NVidia is trying to pull the industry to adopting its CUDA as a "standard". I think it's ultimately going to fail, however, given that the industry recognizes now that OpenCL is available.
Is OpenCL as mature as CUDA is? Or are they still kind of finalizing it? Maybe that's the issue - OpenCL isn't complete yet, so NVidia is trying to snatch up support in the Developer community early?
sbuckler - Friday, April 3, 2009 - link
CUDA is in many ways a simplified version of OpenCL - in that CUDA knows what hardware it will run on so has set functions to access it, OpenCL is obviously much more generic as it has to run on any hardware so it's not quite as easy. That part of the reason why CUDA is initially at least more popular then OpenCL - it's easier to work with. That said they are very similar so to port from one to the other won't be hard - hence develop for CUDA now then just port to OpenCL when the market demands it.All in my opinion Ati want is their hardware to run with whatever physics standard is out there. Right now they are at a growing competitive disadvantage as hardware physics slowly takes off. Hence they demo HavokFX in the hope that either (a) it takes off or (b) nvidia are forced to port PhysX to openCL. I don't think they care which one wins - both products belong to a competitor.
Nvidia who have put a lot of money into PhysX want to maximise their investment so they will keep PhysX closed as long as possible to get people to buy their cards, but in the end I am sure they are fully aware they will have to open it up to everyone - it's just a matter of when. From our standpoint the sooner the better.
erple2 - Friday, April 3, 2009 - link
Sure, but my point was simply that HavokFX and PhysX are physics API's, whereas OpenCL and CUDA are "general" purpose computing languages designed to run on a GPU.Is CUDA easier to work with? I don't really know, as I've never programmed for either. Is OpenGL harder to program for than Glide was? Again, I don't know, I'm not a developer.
ATI's "CUDA" was "Stream" (I think). I recall ATI abandoning that for (or folding that into) OpenCL. That's a sound strategic decision, I think.
If PhysX is ported to OpenCL, then that's a major win for ATI, and a lesser one for NVidia - the PhysX SDK is already free for any developer that wants it (support costs money, of course). NVidia's position in that market is that PhysX currently only works on NVidia cards. Once it works elsewhere (via OpenCL or Stream), NVidia loses that "edge". However, that's a good thing...
SiliconDoc - Monday, April 6, 2009 - link
I guess you're forgetting that recently NVidia supported a rogue software coder that was porting PhysX to ATI drivers. Those drivers hit the web and the downloads went wild high - and ATI stepped in and slammed the door shut with a lawsuit and threats.Oh well, ATI didn't want you to enjoy PhysX effects. You got screwed, even as NVidia tried to help you.
So now all you and Derek and anand are left to do is sourpuss and whine PhysX sucks and means nothing.
Then anand tries Mirror's Edge ( because he HAS TO - cause dingo is gone - unavailable ) and falls in love with PhysX and the game. LOL
His conclusion ? He's an ati fabbyboi so cannot recommend it.
tamalero - Monday, April 20, 2009 - link
the ammount of fud you spit is staggeringz3R0C00L - Thursday, April 2, 2009 - link
On one hand you have OpenCL, Havok, ATi, AMD and Intel on the other you have nVIDIA.Seriously.
z3R0C00L - Thursday, April 2, 2009 - link
I'm an nVIDIA fan.. I'll admit. I like that you added CUDA and Physx.. but are we reading the same results?The Radeon HD 4890 is the clear winner here. I don't understand how it could be any different.
CrystalBay - Thursday, April 2, 2009 - link
I agree if nV wants to sell more cards they need to include the video software at no charge...