Some of you might already know the news, but: there is another commercial 3D engine from Russia, called Infinity3D. This engine licensing policy and API are very similar to those of Alternativa3D 5.x, so natural question is, how is it different? Well, one thing where the engines are different is their approach to sorting: in Infinity3D, sorting is done by renderer classes (much like in Away3D, for example). So, unlike Alternativa3D, Infinity3D does not build BSP tree for whole scene at once, but instead re-builds it for all objects visible on screen all the time. The question is, therefore, how does this difference affect actual performance? Both engine blogs had previously published “dynamic BSP” demos (here and here), but those were of little use for any meaningful comparison… until yesterday, when Infinity3D released this new demo:
With this demo, it is finally possible to verify two performance claims made by Infinity3D author, namely:
- Infinity3D BSP performance for dynamic scenes is better;
- Infinity3D BSP performance for static scenes is not worse.
For this purpose, I have made similar Alternativa3D demo using their latest released version. Controls are alternativa’s default W/A/S/D/Z/Space, mouse drag and Enter to toggle animation (note: fps counter insists on going off-stage for some reason, so make sure your browser window width is around 800 pixels).
To test claim 1, you just need to make sure animation is on, and whole scene is in view. I have low-end machine, so results are very unambiguous in this case: 10-12 fps for Infinity3D vs 3-4 fps for Alternativa3D. That’s 3 times faster! Resolution: the claim is true.
For the claim 2, it is not that straight-forward: once you stop animation, both demos run at full 60 fps, so you also need to move around constantly. The results in this case are: same 10-12 fps for Infinity3D vs 9-14 fps for Alternativa3D. Resolution: the claim is true.
Congratulations to Romanov Alexey for his great work on Infinity3D, and looking forward for 1.4 release.
I haven’t looked into Infinity3D too much at this point, but now I’m interested. Thanks for the post and the links…good stuff
this comparision is definitely useful.
it would be nice to implement the same in papervision, away and sandy to see how fps and cpu usage behave in the same situation.
infinity really rocks, bad thing is i found examples and documentation in russian only :\
unfortunately none of those three support BSP sorting, so we have nothing to compare to :(
Not heard of infinity3d before. I’ll be keeping an eye on them…
Infinity3D has DynamicBSPRender and BaseRender (Z-sort), can conduct tests with papervision3D and away3D using the Z-sort rendering.
Site is in English will soon be available!
I think it’s not a correct comparison.
You didn’t take note that Alternativa3D has a signal system (redraws only changed objects) and optimized for small changes in BSP (quick removing and adding objects). Evidently that for these features the engine needs some calculations.
By the way, upcoming Alternativa3D 7 has static and dynamic BSP-modes and can combine several sorting algorithms in one scene.
You can see it in action on http://tankionline.com
alternativa smoke … with all due respect
Привет Севастополь ) “курит” в дословном переводе на английский имеет иное значение ;)