Speed and performance concerns

Im just going to ask a fairly plain question which might lead to some confusing answers.

So I will be very clear:

With the same model, scene, lights, etc

Will my app be faster / more performant running BabylonJS v4 vs babylonjs v5 or ThreeJS 0.33?

OR does it not matter - are they all just the same?

Some commercial projects people are telling me Three is faster, but in other projects that I’ve created, babylonjs has been adequate…

Some tests that were created by other project devs resulted in Babylon taking longer to load, but I was doubtful about the setup and validity of test.

Nobody here will likely say babylonjs is slow, but I wanted to see if there was even a case.

1 Like

I can not speak for ThreeJS but for Babylon we always strive to improve performance on the platform. So the latest version (5.0) feels like the way to go. :slight_smile:

1 Like

Haha yeah we have that all the time. And obviously this is wrong. People who say that have no idea how Babylon works and most of the time they simply do not want to challenge their knowledge. Adobe, Nike, Ikea, Ferrari, Microsoft (and far more) are all using Babylonjs for enterprise grade product. They cannot all be wrong :wink:
With similar data and test environment 3js or bjs should behave kind of the same. This is not where the main difference is.

The main aspects (for me) are:

  • Backward compatible (no need to spend ages on every release to port your code)
  • Strong, helpful and focused community
  • High quality support (we fix every bug in less than 48 hours)

Regarding perf, even if you face a problem, we will be here to help you fix it. Look on the forum, do not take my word for granted :slight_smile:

Regarding loading time, we have a fully working ES6 version where you can cherry pick which part of BJS you want. If this is about loading time for files (like glTF) we are as fast as anyone else :wink:

18 Likes

@msDestiny14
5 really feels much faster.

@Deltakosh
t’s good to see such strong brand-names using it and able to utilise it at an enterprise level.

I will create some benchmarks and post it here to do a proper comparison.

3 Likes

Hi @bozworth !
I’m pretty curious how much juice can you press out of both engines! :slight_smile: I have to add it will be quite a challenge to make a proper comparison because really detailed knowledge of both frameworks is required to do so. Keep us posted!

4 Likes

I do agree a lot with @roland. We have so many tools and techniques to boost perf depending on situation. That’s why I always recommend to pick one and invest on it. This is the best way to squeeze all the juice from an engine :wink:

@bozworth: A doc you may find useful: Optimizing Your Scene | Babylon.js Documentation (babylonjs.com)

4 Likes

I would say use three for simple e-commerce or landing pages and babylon for applications. The tradeoff mostly comes down to code size vs backwards compatibility. Three breaks its api pretty much every release and its easy to have less code if you constantly break things. Also babylon gets extra points because cg god Evgeni Popov :bowing_man:

5 Likes

I mean, I’m a suspect here but I’ve actually used Three for quite a while in a work project and I feel Babylon’s developer experience is incomparable :rofl: Having amazing debugging tools easy at hand, this forum stacked with amazing minds and great backwards compatibility makes ALL the difference. And I haven’t felt a significant difference in speed from the two frameworks.

7 Likes

I use both engines in commercial projects, and so far I’ve found BabylonJS much easier to use, I do not have to configure too much when I want to do simple things like adding a camera, framing a target object - or even adding AO maps / Light maps.

The postprocessing stack in Babylon is much easier to set up and execute than Three.

Three also doesn’t have a shader node-editor or even much guidance on writing shaders and getting them into the application, everything is very much so DIY and thats what traps people into a loop of building frameworks to then be able to develop their experience -whereas the steps to get to the same experience are easier and more accessible in Babylon. This is just the kind of development experience I’ve had for the few years.

I would say coming from game development, babylonjs definitely is more of a game engine than three, three is more open to interpretation and so therefore I think of it more like a Renderer

5 Likes

It is worth saying that performance, of course, is important but developer experience is also important and I found babylonjs much easier to use than three.js.

Babylon.js community amazes me every day and the learning curve of Babylon is just way easier.

2 Likes

And again, I do not believe 3js or bjs are slower or faster at the end of the day if you use them correctly

6 Likes

indeed , this is fantastic! I, like many others here, can testify to getting decent help and quick solutions when bugs were encountered. This alone make Babylon the best solution for any project :wink:

3 Likes

Actually, guys, have you noticed that PEP isn’t exactly available all the time at jquery CDN?
I’ve had so many timeouts and connection resets that I had to have it copied over and served locally.
Not a big deal, but with all examples and everything using it, it’s easy to see how it can drive away someone who just wants to have a glance of this vs that.

1 Like

@RaananW should we have a copy on our cdn if some ppl are experiencing issues ? and possible to host on ours as well ?

1 Like

just to be sure, we are talking about jquery pep? Sure, I can add it to our preview CDN. How much is it actually being used? is there a browser except of IE11 that needs that?

Pep.js is still needed for iPhone 5, for example.

https://preview.babylonjs.com/pep.js is now available

3 Likes