Unity 5?

Recommended Posts

Having actually used Unity 5 myself, and assuming I haven't been misled, I can say that Unity 5's PhysX IS in fact able to run on multiple cores. Either PhysX itself or Unity's implementation of it has been rewritten almost from the ground up with a new architecture and some sort of "job" system that enables multiple cores to divide up the physics load among themselves. Unity 5 has given me far better FPS in the little simulations and tests I've derped around building - before I'd frequently top off at 25-30FPS doing anything interesting like multibody gravity, but now it frequently exceeds 75 and if I put a bit of cursory effort into optimization, up to 120. That's a 3- to 4-fold improvement!

I won't promise KSP will enjoy this any more than anyone else is promising, but from here the outlook is good.

1

Share this post

Link to post

Share on other sites

So you are working for Squad now? You are a developer? How else could you possibly know that? I don't claim to know everything about Unity 5, but if the technology is built into the game's engine now, it may not take much more than telling Unity to turn it on (with a configuration option of course, for those who don't have the technology).

Unity 5 provides a x64 suite for developing. It is hard to find bugs if you don't have a good compiler to point them out to you. The last DevNotes kind of mentioned that. Now Unity's suite can run in 64 bit mode for testing while running debuggers. It is much more likely to see an x64 working version now.

Unity doesn't allow hardware Physx acceleration, only software otherwise it would be impossible to be cross compatible.

Working for Squad wouldn't exactly be a promotion so i'm not sure what you mean.

- - - Updated - - -

Shouldn't people who previously played KSP one a quad core (who presumably got 1/4 the performance?) get 4x (or even 2) the performance now? Or did it work differently?

No, the benefit you get isn't linear like that (however a really common mistake). We can't really estimate, but i doubt you'll see a 2x increase.

- - - Updated - - -

To add to my post, i believe that they have internal builds that utilise CUDA but they're not in the current U5 package.

Share this post

Link to post

Share on other sites

Shouldn't people who previously played KSP one a quad core (who presumably got 1/4 the performance?) get 4x (or even 2) the performance now? Or did it work differently?

It's really hard to say from the point of view of someone that doesn't have access to the code. There are microbenchmarks that show that some of the physics simulation features that KSP uses have been improved by 50% even on a single core, but microbenchmarks seldom accurately predict real world performance.

As for multiple threads, it comes down to two factors mostly. The first is how well the code can be run in parallel. I haven't found anything indicating that PhysX can break a single collection of connected parts into multiple threads, and if this is the case, then you won't get any noticeable benefit from multiple cores in the common case of KSP, when a single craft is in the physics bubble. Docking two craft of similar complexity would be one of the cases where KSP should be able to use more cores effectively, and operations in and around bases composed of multiple craft might actually be able to effectively use as many cores as you have craft.

Second, multiple threads don't linearly scale the performance in PhysX. Three threads gives about double the performance of a single thread (again, in microbenchmarks).

Personally, I think overall I'll see more benefit from the general optimization and increased accuracy of the updated PhysX than I will from the multithreading, but every little bit helps.

Share this post

Link to post

Share on other sites

Thanks Kerbalnauts. I believe i got my answer, just remembered I posted this. I believe I'll prob upgrade to an 8 or 16 gb ram gaming desktop (Prob Vibox; good offers on atm) within a few months. But will limit my mods until Game patching lessens a bit, it can be nuisance ofc putting in and removing mods. Haven't been able to play KSP for the last 9 months really, with University. But can't wait to get back into the Kerbalsphere; especially with 1.0.

Share this post

Link to post

Share on other sites

Last I checked Unity 5 PhysX IS multithreaded (the version KSP currently uses DOES use all cores, but is only one threaded). I am hoping that Squad will add an option to run PhysX on Nvidia GPUs for those that have them (the fact that it's multithreaded should still boost performance for non Nvidia Users).

Share this post

Link to post

Share on other sites

Is GPU PhysX even capable of being a replacement for KSP's physics engine? My understanding was that it didn't do rigid body physics all that well or in the same way that the CPU-driven stuff works. I could be totally wrong here, and theoretically obviously the GPU can do whatever the CPU does using CUDA, but this is based on what I've heard around the net.