# Babylon Native Stress Testing

**URL:** <https://forum.babylonjs.com/t/babylon-native-stress-testing/54133>\
**Category:** Questions\
**Tags:** babylon-native\
**Created:** [October 15, 2024, 11:27am UTC](https://forum.babylonjs.com/t/babylon-native-stress-testing/54133 "2024-10-15T11:27:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![JadMaqdah](https://avatars.discourse-cdn.com/v4/letter/j/ee7513/32.png) [@JadMaqdah](https://forum.babylonjs.com/u/JadMaqdah)\
**Post date:** [October 15, 2024, 11:27am UTC](https://forum.babylonjs.com/t/babylon-native-stress-testing/54133/1 "2024-10-15T11:27:36Z")

</div>

> ❗ My team and I are interested in Babylon Native but we are not sure how mature it is? ❗

Hi Everyone,

My team and I have a web application that we use BabylonJS for to render 3D meshes. We are thinking of moving this web application to be a native application (with the use of Babylon Native) for a couple of reasons: (1) We want an application that will use a Graphics API that is closer to the GPU (such as DirectX on Windows), and (2) we want to use the application on multiple platforms.

However, the project status for Babylon Native says that its still in public preview. My team and I are interested to adopt Babylon Native but are not sure when we can start using it.

Are there any other developers in the same boat?

Thank you!

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [October 15, 2024, 1:27pm UTC](https://forum.babylonjs.com/t/babylon-native-stress-testing/54133/2 "2024-10-15T13:27:49Z")

</div>

You can definitely use it now.  
Cc [@BabylonNative](https://forum.babylonjs.com/groups/babylonnative)

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [October 15, 2024, 3:48pm UTC](https://forum.babylonjs.com/t/babylon-native-stress-testing/54133/3 "2024-10-15T15:48:55Z")

</div>

> [@JadMaqdah](#):
>
> (1) We want an application that will use a Graphics API that is closer to the GPU (such as DirectX on Windows)

I’m not sure what you mean by this. Babylon Native will intercept the rendering calls from Babylon.js and forward them to [bgfx](https://github.com/BabylonJS/bgfx). It doesn’t get closer to the GPU, at least not in a significant way.

I would recommend reading these if you haven’t already:

- [Multiple Platforms | Babylon.js Documentation](https://doc.babylonjs.com/BabylonCrossPlat/multiplePlatforms)
- [When to Use Babylon Native](https://github.com/BabylonJS/BabylonNative/blob/master/Documentation/WhenToUseBabylonNative.md)

> [@JadMaqdah](#):
>
> the project status for Babylon Native says that its still in public preview

The main reason why we still have this marker is because the API contract is still in flux. In other words, we don’t currently guarantee backwards compatibility for the native part of the contract. The API may change in the future. If this is acceptable, it will be okay to use it. We will be here to support you.

> [@JadMaqdah](#):
>
> Are there any other developers in the same boat?

We have some internal projects using Babylon Native directly, but I have not heard of external users using Babylon Native directly. There are people using Babylon React Native. Hopefully forum users can chime in on this.

---

<div class="post-metadata">

**Author:** ![inteja](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/inteja/32/22553_2.png) [@inteja](https://forum.babylonjs.com/u/inteja)\
**Post date:** [October 15, 2024, 8:59pm UTC](https://forum.babylonjs.com/t/babylon-native-stress-testing/54133/4 "2024-10-15T20:59:03Z")

</div>

We’re using Babylon React Native for a commercially released product. See [Emesent Commander](https://forum.babylonjs.com/t/emesent-commander/48178).

Babylon React Native is definitely production ready. Coming from a web dev background, it fulfils its promise of being able to use familiar web technologies to develop native mobile 3D applications. It supports most of the Babylon.js packages (that we need anyway). There are some differences and idiosyncrasies between native and web, but most of those are due to the differences in target platforms and not Babylon itself.

The main pain point we encountered was more due to React Native being single threaded, so the 2D UI, application logic, 3D and video streaming (in our case) all share the same thread. [React Native New Architecture](https://reactnative.dev/docs/the-new-architecture/landing-page) with concurrency isn’t quite mature enough yet to alleviate this performance bottleneck. If you’re planning on using Babylon Native directly, then this would not be a concern for you.

So I’d reiterate what @bghgary recommended, read the following carefully to determine which of Babylon.js web, Babylon Native or Babylon React Native best suits your particular use case:

- [Multiple Platforms | Babylon.js Documentation](https://doc.babylonjs.com/BabylonCrossPlat/multiplePlatforms)
- [When to Use Babylon Native](https://github.com/BabylonJS/BabylonNative/blob/master/Documentation/WhenToUseBabylonNative.md)

And a big shout out to the [@BabylonNative](https://forum.babylonjs.com/groups/babylonnative) team! They’ve been very helpful and responsive to our questions and requests for support, as has the broader Babylon community.
