Archive for March, 2015
The last few alpha updates of Universe Sandbox ² have each included changes in the physics code to improve performance on a wide range of hardware. But never assume that Thomas, our numerical physics developer, is done with optimization; there’s always more performance that can be squeezed out.
That being said, sometimes it’s not worth trying to squeeze out the last drop; sometimes it’s better to start fresh. Thomas explains in his video description: “The core NBody physics was rewritten from the ground up to give back some of the raw computation speed, which had been lost under layer upon layer of C# sugar coating.”
If all goes well, this could mean that the physics-side of Universe Sandbox ² will run much faster than it does now. In addition, it will be running asynchronously, which essentially means that even if physics is bogged down with thousands of calculations, the user interface should still be responsive.
Check out Thomas’s video below for a demonstration of how powerful the new system is. 50 000 particles around Saturn would normally have brought this simulation to a halt, but now it runs very smoothly:
From the description:
Note that the slight stuttering, primarily at the beginning, is caused by the screen recording.
This demonstration shows the performance on an Intel i7 CPU running the rewritten C# engine on Mono. The rewrite will let us quickly add support for native code using SSE as well as native code running C++AMP on CPU or GPU, plus still OpenCL.
Full implementation may take a bit, but we’re very excited to see it up and running in Universe Sandbox ². When it’s ready, we’ll be sure to let you know.