# What's the difference between runRenderLoop() and registerBeforeRender()?

**URL:** <https://forum.babylonjs.com/t/whats-the-difference-between-runrenderloop-and-registerbeforerender/38131>\
**Category:** Questions\
**Created:** [February 12, 2023, 4:01pm UTC](https://forum.babylonjs.com/t/whats-the-difference-between-runrenderloop-and-registerbeforerender/38131 "2023-02-12T16:01:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rata\_Blanca](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rata_blanca/32/24779_2.png) [@Rata\_Blanca](https://forum.babylonjs.com/u/Rata_Blanca)\
**Post date:** [February 12, 2023, 4:01pm UTC](https://forum.babylonjs.com/t/whats-the-difference-between-runrenderloop-and-registerbeforerender/38131/1 "2023-02-12T16:01:14Z")

</div>

What’s the difference between these two approaches? In both cases I call `calcBeforeRender()` before scene will be rendered. So what the difference?  
1:

```auto
scene.registerBeforeRender( () => {
    calcBeforeRender();
} );
engine.runRenderLoop( () => {
    scene.render();
}

```

2:

```auto
engine.runRenderLoop( () => {
    calcBeforeRender();
    scene.render();
}

```

---

<div class="post-metadata">

**Author:** ![Takemura](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/takemura/32/25836_2.png) [@Takemura](https://forum.babylonjs.com/u/Takemura)\
**Post date:** [February 12, 2023, 7:57pm UTC](https://forum.babylonjs.com/t/whats-the-difference-between-runrenderloop-and-registerbeforerender/38131/2 "2023-02-12T19:57:26Z")

</div>

Normally a game can have one engine and multiple scenes. If you use registerBeforeRender you don’t have to check if sceneN is active in your runRenderLoop:

if(scene1.isActive) { … }  
if(scene2.isActive) { … }  
…

So you can execute instructions that are scene-specific and others that are global (for all scenes). With only one scene, there is no difference. Additionally it could be that you don’t own the engine/runRenderLoop like in Playground.
