Almost four years has passed since NVIDIA aquired Ageia and presented their version of hardware accelerated PhysX Technology. However, anyone who is watching GPU PhysX progress closely can say, that so far it has not shown any significant advancement – but is the fight already lost or is it just taking time to harness up, but will ride fast?
We got a chance to chat with Tony Tamasi, Senior Vice President of Content & Technology in NVIDIA, Ashu Rege, Vice President of Content & Technology, and Rev Lebaredian, Director of Engineering, to clear up these questions, and recieve some insider information on future development plans for PhysX SDK and NVIDIA APEX toolset.
PhysXInfo.com: Over last years, amount of GPU PhysX games is actually decreasing. There were five games in 2009, three in 2010 and so far only one in 2011. How can you explain that?
Tony Tamasi: It was a choice on our part. We had a large amount of resources we could otherwise dedicate to content, but we needed to advance the core technology. We needed to get PhysX 3 done, and we needed to get APEX done to the degree where it is usable by game developers. We had to put a lot of resources there, which meant that some of those resources weren’t directly working on games.
But in the long term, game developers can actually use PhysX and APEX, and make use of the GPU without significant amounts of effort, so that a year or two years from now more games will come out using GPU physics.
Rev Lebaredian: When we initially acquired Ageia, we made a big effort to move many games over to GPU PhysX. We learned a lot in that period of time: getting GPU physics into games, what are the problems, what works and what doesn’t. That gave us the opportunity to regroup, refocus, and figure out how to do it correctly.
We made a conscious decision. After we did a bunch of PhysX and APEX games in 2009 and early 2010, we said “Ok, we have learned enough, we need to sit down and focus on finishing APEX and changing it based on what we just learned, as well as PhysX 3”. Doing as many titles as we were doing before was just going to slow us down.
It made more sense to slow down the content pipeline but get the tools right, but that puts us in the position when once those are complete, it is actually less work for us to get PhysX in games.
This slowdown has not been because of any problems. It is something that we have decided to do.
PhysXInfo.com: So NVIDIA APEX is supposed to give developers the tools for easy creation on physical content in games, and you will receive GPU PhysX support as a byproduct. Is this idea working already?
Rev Lebaredian: It won’t be 100% free. Anytime you’re going to change the quality of something, you’re going to have the artists and level designers do a little bit of work to tweak it so it will look right.
Sure, let’s say if you have clothing you can just increase the number of vertices or increase the number of bodies for something with destruction, but most likely they going to want to tune it at different levels.
What we are trying to do with APEX is minimize that work. If you spend 10 hours putting together a set of assets for consoles, it shouldn’t take you another 10 hours to do the GPU stuff, maybe an additional half hour—depending on the developers and game in question obviously.
Tony Tamasi: And I can actually tell you for sure, when we first started on the GPU PhysX effort, it often took more time to do the GPU physics work than core physics work, which is not the right balance. So we have to get the balance to make it incremental effort.
Ashu Rege: If you compare some games with APEX and GPU PhysX from one or two years ago, with some other games we are working on today, we have improved by 4-5 times in terms of less man-hours of work to get GPU PhysX done.
PhysXInfo.com: So how many GPU PhysX games are we going to see in upcoming years?
Rev Lebaredian: I think you’ll see more GPU PhysX games next year than you did this year, and I would expect to see a lot more in 2013. PhysX 3 and APEX are now just getting integrated–that’s why you see that kind of lag.
Tony Tamasi: We’ve also taken steps to integrate it [APEX/GPU PhysX] in major engines, like UE3—that enables a lot more developers to be able to use it out of the box now. When we did the GPU titles in 2009, essentially we have to do that integration each time. So there should be a large increase in GPU physics content just because it’s easier.
PhysXInfo.com: And for how long are you planning to further develop and use PhysX Technology?
Tony Tamasi: As long as we can see!
Ashu Rege: The interesting thing is that we haven’t even touched, frankly, the surface of the cool new things that can be done in many directions; things like heightfield fluid simulation, better cloth–I mean, there are so many different improvements, for both algorithms and technology as well as improvement for the tools so developers can integrate these features much faster.
So yes, we keep working.
PhysXInfo.com: Is the fact that GPU PhysX is exclusive to NVIDIA some kind of barrier for GPU PhysX adoption?
Rev Lebaredian: It is not a secret that most of game developers are concerned about consoles. PC for them is a smaller SKU usually, so PhysX not running on competitor GPUs does not really matter that much to them.
Tony Tamasi: For every title we have worked on; for every one that I’m aware, that was never a reason for someone to use or not to use GPU PhysX.
PhysXInfo.com: Do you have any plans to port GPU PhysX to DX11 (Direct Compute) or OpenCL?
Rev Lebaredian: No plans to do it. Maybe if there will be a good reason for that in the future, but there is no current plan.
PhysXInfo.com: So developers are not asking you to port GPU PhysX to OpenCL?
Tony Tamasi: Nope.
Rev Lebaredian: No.
PhysXInfo.com: Are GPU PhysX effects going to be friendlier to multi-core CPUs in the future?
Tony Tamasi: You can use multi-core CPUs in PhysX 2.8, but it requires a lot of extra work to do that. In PhysX 3 most solvers are parallelized across as many threads as are available.
Rev Lebaredian: It is usually not possible to get linear scaling with increasing numbers of CPU cores automatically. It is not reasonable to expect that if you’ll throw 8 cores at it, it will be 8 times faster. However, we’ve done a lot of work in PhysX 3 to maximize usage of multiple CPU cores whenever possible.
PhysXInfo.com: What do you think about Hybrid PhysX? Isn’t it for good?
Rev Lebaredian: Good at what cost?
Supporting it would be a huge amount of QA for us, and it would be weird too – if we’ll find a bug in AMD’s drivers, what will we do?
Ashu Rege: For the foreseeable future we will not supporting it officially. If it works- it works, if some guys can figure out how to make it work – great for them.
After discussion of common topics, we have moved to more specific questions regarding PhysX SDK and NVIDIA APEX toolset.
PhysXInfo.com: New PhysX SDK 3. Has it already equals the hopes or was it waste of time, which has created more problems that it has solved?
Tony Tamasi: As far as I can tell, every developer we talked to is happy with it.
Rev Lebaredian: We have had developers demand to use it over 2.8, and that’s actually accelerated our plans for getting APEX working with it.
PhyXInfo.com: So developers now prefer PhysX 3 over 2.8?
Rev Lebaredian: Yes.
Ashu Rege: We build it to satisfy all their needs, so it would be really strange if they won’t use it. And we will be continuing to improve it to meet what developers are asking for.
PhysXInfo.com: Will PhysX SDK support next-generation consoles in the future?
Rev Lebaredian: Here is what we can say: we will always support all platforms that are relevant to our developers, so when the next generation consoles will become a reality, we will be on it.
PhysXInfo.com: Will PhysX SDK remain focused on games/game development area only?
Tony Tamasi: The focus is games. People can use it for visual effects or for manufacturing–that is awesome. And if we can do some incremental work to enable them, we’ll do that when we can, but the focus is games.
PhysXInfo.com: Are you thinking about enhancing PhysX/APEX product line with additional middleware packages, for animation or AI simulation, for example?
Ashu Rege: We work closely with our partners, with Natural Motion, with Autodesk, with game engine guys, but we are not interested in participating in that market; making money selling software. So it is not our goal to enter all of these areas.
PhysXInfo.com: What is the current development course for NVIDIA APEX?
Rev Lebaredian: We have decided to currently focus on two modules that have the highest priority for game developers – Clothing and Destruction.
PhysXInfo.com: When we are going to see APEX with PhysX SDK 3 support? What are going to be the benefits, in comparison to current APEX with SDK 2.8?
Rev Lebaredian: Internally we already have version that works with PhysX 3. That’s one of the things on the roadmap. APEX 1.2 is going to be the first version of APEX we’ll release that will support PhysX 3.
Essentially, the benefits will be all the benefits that you get from PhysX 3 – better performance, and we’ll have all new features, new solvers, and all that kind of stuff.
PhysXInfo.com: Are you planning to port APEX to mobile platforms?
Rev Lebaredian: Yes.
Ashu Rege: Internally, we already have all of those working.
Tony Tamasi: And as soon as mobile devices will support CUDA, we’ll have GPU computation on mobile devices too.
PhysXInfo.com: APEX Destruction 1.1 will include fully functional GPU Rigid body solver (you were able to see in Art Gallery demo at GDC 11) – can you provide more details about it? Is this already finished technology or first iteration with many improvements to come?
Rev Lebaredian: We’ve done a lot of work on it since the Art Gallery demo last GDC. It is more robust now, and behavior is better. It is essentially the same, or maybe in some cases even better quality than the rigid body behavior in PhysX 2.8
Ashu Rege: We are at the point right now where we have three baseline things working–behavior, robustness and performance. We are continuing to enhance and improve it, especially on the performance front. It is using the exact same API [as CPU RB], except some pieces of the API are not implemented yet, so things like joints are not done.
PhysXInfo.com: What other features are planned for future versions of APEX Destruction?
Rev Lebaredian: There are lots of things we want to do with Destruction, real-time fracturing instead of pre-fracturing, all kinds of stuff. There are a lot of things in the plan and we have ideas on how to implement a lot of them, but what ends up driving features is the content. We work with game developers, see what it is they want, and we will change the priority based on demand.
PhysXInfo.com: New clothing solver was introduced in PhysX SDK 3.1. How does it compare to the previous one?
Tony Tamasi: It is faster and more stable, but it is not complete in terms of the feature set that is in PhysX 2.8, but we are adding those in the future.
PhysXInfo.com: Are you going to expand this new solver with all the missing functionality, or add additional specialized solvers in the future?
Rev Lebaredian: For collision geometry and similar features, we’ll expand the same solver. We haven’t decided yet, if we’ll want to introduce tearing for example. That is a likely candidate for a different solver, because it never quite solved this problem correctly anyway. Sometimes it is better to have different solvers that solve different problems.
PhysXInfo.com: Will it support multi-core CPUs to the full extent?
Tony Tamasi: Yes
PhysXInfo.com: Are you planning to add this new clothing solver to 2.8 PhysX SDK?
Rev Lebaredian: The plan is if the developers are using PhysX 3.1, they can just use the new solver. If the developers are using 2.8 and they can’t switch to 3.1 for whatever reason, we can take the solver and make it build with APEX, so that they can continue to use PhysX 2.8 for all of their normal physics stuff and also use the 3.1 cloth solver with APEX Clothing.
PhysXInfo.com: Is authoring pipeline going to be different for new solver?
Rev Lebaredian: There are some modifications we’ve made. The parameter space is different and there are some new features, like tapered capsules for collision geometry–we obviously had to change DCC plug-in to support that.
PhysXInfo.com: When are we going to see new clothing solver in action?
Tony Tamasi: In games shipping next year.
As for us, all of the above sounds trustworthy enough and yet promising.
And what do you think ? Tell us in comments.