You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@luct I finally had time to fix this issue with a bunch of other performance issues with map information panels.
Before fix:
The current state, where each UI module (route-, signature-,killboard- ... ) is completely independent from each other lead to some problems:
Developing new modules (e.g. Intel/Structure module) is pretty straight forward and easy. Just adding a few lines of Code for initialization and then add a new *.js file for the new module that implements some abstract methods like getModule(), initModule() that do the render and logic for that module. The rest is automatically done by Pathfinder ...
... The downside of this "pattern" is, that each module comes with its own Ajax calls which are required in order to get additional data from Server (e.g. "get all system signatures") ....
.... Pathfinder loops over all JS Modules that should be visible, then invokes the initModule() method for all of them and the rest is handled by the Module itself. Some of them trigger additional Ajax calls...
... This leads to some bad delays 🙁 ...
Solution
The new approach is, that each Module is still independent from each other but Modules can now subscribe to a data source before they actually get rendered for the first time.
"Signature Module" says "hey, I need all signatures for that system", "Intel Modul" says "hey, I need all Structures for that system",....
When a user now clicks at a system, Pathfinder already knows which data is required for all Modules that have subscribed to a data source....
Now we can ran some tasks in parallel (async)!
The Browser will instantly submit an Ajax call to the server in order to get all required data for all modules that will be rendered
The Browser can start rendering all modules (like before) (e.g. render empty signature table, show empty Intel table,...) but it knows there is still data on the way...
When rendering is complete, Ajax data for all modules should be available in time and all Modules that have subscribed to a data source get updated at once.
I just wanted to ask if there was a way to decrease the description loading time.
The text was updated successfully, but these errors were encountered: