Für jede zu öffnende Geschichte soll ein eigener Prozess gestartet werden, in dem das Backend für diese Geschichte ausgeführt wird. Pro geöffneter Geschicht existieren dann zwei Prozesse: Der Backend-Prozess und der Renderer-Prozess (für das Fenster). Der Backend- und der Renderer-Prozess kommunizieren per TCP. Zusätzlich existiert immer der Main-Prozess. Dieser ist für das Starten und Beenden der Backend- und Renderer-Prozesse zuständig.
Begründung
Aktuell wird das Backend im Main-Prozess ausgeführt. Allerdings führen Berechnungen, die den Main-Prozess blockieren, dazu, dass alle Renderer-Fenster ebenfalls blockiert werden. Wenn eine Geschichte viel CPU-Zeit im Main-Prozess in Anspruch nimmt, wird sowohl das Fenster dieser Geschichte, als auch die Fenster aller anderen Geschichten blockiert. Aus diesem Grund soll das Backend aus dem Main-Prozess in einen eigenen Prozess ausgelagert werden. Zusätzlich soll jede Geschichte ihren eigenen Backend-Prozess bekommen, damit Geschichten sich nicht gegenseitig blockieren.
Architektur
TODO
Aufgaben
TODO
Für jede zu öffnende Geschichte soll ein eigener Prozess gestartet werden, in dem das Backend für diese Geschichte ausgeführt wird. Pro geöffneter Geschicht existieren dann zwei Prozesse: Der Backend-Prozess und der Renderer-Prozess (für das Fenster). Der Backend- und der Renderer-Prozess kommunizieren per TCP. Zusätzlich existiert immer der Main-Prozess. Dieser ist für das Starten und Beenden der Backend- und Renderer-Prozesse zuständig.
Begründung
Aktuell wird das Backend im Main-Prozess ausgeführt. Allerdings führen Berechnungen, die den Main-Prozess blockieren, dazu, dass alle Renderer-Fenster ebenfalls blockiert werden. Wenn eine Geschichte viel CPU-Zeit im Main-Prozess in Anspruch nimmt, wird sowohl das Fenster dieser Geschichte, als auch die Fenster aller anderen Geschichten blockiert. Aus diesem Grund soll das Backend aus dem Main-Prozess in einen eigenen Prozess ausgelagert werden. Zusätzlich soll jede Geschichte ihren eigenen Backend-Prozess bekommen, damit Geschichten sich nicht gegenseitig blockieren.
Architektur
TODO
Aufgaben
TODO