Rewrite a bit |
Rewrite more |
||
Line 1: | Line 1: | ||
The performance updates are a series of updates in response to [https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/706 Issue 706]. | |||
The performance updates are a series of updates | |||
== The Issue == | == The Issue == | ||
The main goal of the performance updates is to separate FrooxEngine from Unity so that FrooxEngine can benefit from a faster runtime in .NET 9+. | |||
Prior to separation, if Unity crashes it takes down FrooxEngine with it. Another problem is that Unity uses a slower runtime called Mono which reduces the performance of FrooxEngine considerably, as it runs FrooxEngine in a MonoBehavior (Unity component). | |||
== The Solution == | == The Solution == | ||
Frooxius | Frooxius has devised a series of updates separated into different parts. Each stage brings more systems from Unity into FrooxEngine. These are pre-requisites for the separation. | ||
The major steps: | |||
* [[PhotonDust]] (Particles update) | * [[PhotonDust]] (Particles update) [https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/587 Issue 587] | ||
* [[Awwdio]] (Audio update) | * [[Awwdio]] (Audio update) [https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/2430 Issue 2430] | ||
* Unity Connectors -> Inter Process Communication (Last stage and final release) | * Unity Connectors -> Inter Process Communication (Last stage and final release) | ||
These updates | These updates change core components of the engine, and allow it to work entirely standalone without relying on Unity. | ||
The engines will be separated into different processes and communicate via a shared memory file. | |||
== Resources == | == Resources == | ||
<youtube>https://www.youtube.com/watch?v=9cx2-VtL_LM</youtube> | <youtube>https://www.youtube.com/watch?v=9cx2-VtL_LM</youtube> |
Revision as of 11:59, 11 June 2025
The performance updates are a series of updates in response to Issue 706.
The Issue
The main goal of the performance updates is to separate FrooxEngine from Unity so that FrooxEngine can benefit from a faster runtime in .NET 9+.
Prior to separation, if Unity crashes it takes down FrooxEngine with it. Another problem is that Unity uses a slower runtime called Mono which reduces the performance of FrooxEngine considerably, as it runs FrooxEngine in a MonoBehavior (Unity component).
The Solution
Frooxius has devised a series of updates separated into different parts. Each stage brings more systems from Unity into FrooxEngine. These are pre-requisites for the separation.
The major steps:
- PhotonDust (Particles update) Issue 587
- Awwdio (Audio update) Issue 2430
- Unity Connectors -> Inter Process Communication (Last stage and final release)
These updates change core components of the engine, and allow it to work entirely standalone without relying on Unity.
The engines will be separated into different processes and communicate via a shared memory file.