-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
At the moment, meshes are loaded into the OpenGL synchronously when the active layer gets changed. Altough they are cached afterwards, so this happens only the first time a layer is shown, it produces a noticeable annoying lag for larger boards.
So, either preload them in the background (possibly hard since OpenGL is single threaded...) or optimize the loading so that it does not take seconds.
This has been partially alleviated in 1ecdefa , but more effort is needed. In particular, we need to have
- Benchmarks for the
prepare_X_formmethods, to make investigating speed ups easier -
MoveThis is probably not needed. Some analysis reveals that the reason that it takes a lot of wall time is because it clashes over the GIL with the background threads that are computing the other mesh data...setupConnectionPointsDatato a background thread too (and benchmark it!) - Same with
_build_spatial_indices
All of these things take potentially several seconds up to say 20 seconds (see many_meshes_many_vias). Moving them to an external thread would make starting up the GUI potentially much more responsive.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels