Nvidia's PhysX falters by using x87 code

PhysX gives Nvidia a supposed two to four times performance enhancement over Intel and AMD, but still manages to be hugely inefficient thanks to a dependency on x87 code, according to a new report by Real World Technologies.

The study made a “surprising discovery”, which is that PhysX, which was developed by Ageia in 2006 and acquired by Nvidia in 2008, “exclusively uses the older x87 instructions rather than the faster SSE instructions”. Intel and AMD have been pushing for SSE over the last five years, which can give up to twice as fast performance compared to similar x87 code.

This is a huge blow to Nvidia, which has been touting PhysX as a big step above its rivals. The study recognised the benefits of PhysX in general, but said that “by using x87, PhysX diminishes the performance of CPUs, calling into question the real benefits of PhysX on a GPU.”

It found that while there is two to four times better performance in PhysX “on paper”, the reality of the situation is that a CPU could run twice as fast by using properly vectorised SSE code and that performance differences could drop substantially or disappear completely as a result of this.

It is unclear why Nvidia has adopted the old-fashioned x87 code instead of the newer SSE one, but it appears to be an effort to get people to buy the Nvidia-licensed GPUs.

It could also be planning a PhysX update with SSE code for a future release when sales begin to dive, and this could potentially give it the edge it has been claiming it currently has over Intel and AMD.