Idea
Implement multi-process rendering like a Chromium/Chrome do this for render web pages.
1 process = 1 UE4 render engine
How will be work this scheme?
How its can be integrated into UE4?
Its will be simple:
- update to new version of UE4 core with this features
- add special flag one of 2 flags on compilation (1) SUBHOST_APPLICATION - when you want to run your game only as sub-process (not a main, but this NOT affect on Editor or Debug Run) or (2) SUBHOST_OPTIONAL - like 1, but can be running as normal application
- compile
- profit
How to integrate in level?
You need place a control and bind input events (like mouse/keyboard/gamepad) its will be work same as Coherent UI, control surface will be show render from subhost process.
Why this need to add in core?
Typical use cases:
- load delay free multi level - its mean, you can INSTANT change level when player go to level end - you can load next level in sub-process host and just switch render view from current to next from subhost
- split view - well knowed as hot seat for playing 2 ppl on one PC
- browser mode - its mean multi-tabbed game interface (for example - spectate 2 or more games)
- …your suggestion here…
FAQ!
Q: how todo will be work subprocesses?
A: you need start subprocess manually
Q: how to interate with subprocess?
A: you can use allowed method, but usually its RPC (Remote Procedure Call)
Q: what if subprocess crash?
A: that only broke surface associated with this subprocess, main game executable will be continue working
Thx for read.
Alex “axiieflex” Volkov.