Hello James! Welcome to the forum!
This is because the Hub is built using Electron, which is essentially a Chrome web browser.
Chrome uses something called a “Multi-process Architecture”, which results in multiple subprocesses that have different responsibilities.
If you check a normal Google Chrome browser, looking at the task manager you will find that each open tab creates at least one new subprocess, with an additional one being created if the page in question requires hardware-accelerated rendering on the GPU.
Our app behaves in a similar way, spawning subprocesses for:
- Base app functionality (detecting simulators, updating files etc.)
- Rendering the application UI
- Rendering on the GPU
- Additional processes for handling UI logic and inter-process communication events
This is just how this technology works, and it is technically not a problem. Instead of one heavy process, the load is distributed over several! We might change this in a future rewrite of the Navigraph Hub, but for now, this is entirely expected!
I hope this clears things up! Let me know if you have any more questions.
Kind Regards,
Malte