octareenroon91 / analog-box

Automatically exported from code.google.com/p/analog-box
0 stars 0 forks source link

Huge Circuits make Editing Sluggish #17

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Problem:
Huge circuits with hundreds, if not thousands, of objects bog down the editor. 
Symptoms are noticable delays when creating objects and connecting objects 
together.

Recommend:
*When objects are connected together, ABox has to recreate a list that 
determines the order in which objects compute -- a process refered to as 
'tracing the circuit'. Building the list is similar to building a 'spanning 
tree' for a directed cyclic graph. For large graphs, finding the spanning tree, 
then linearizing it, can take much time. It is not known if ABox's spanning 
algorithm is optimal -- perhaps it can be improved.
*Alternately: Since objects can be grouped together, and editing can only 
happen inside or outside of a group (never both at the same time), it should be 
unnecessary to trace both the inside and outside of a group when only one side 
has changed.
*Circuit tracing happens in the PlayThread.
*A circuit trace is only required when connections between objects change. 
Merely creating a new unconnected object should not require a trace operation. 
Thus, the delay after creating an object may be a symptom of a different 
problem.

Original issue reported on code.google.com by andyt7...@gmail.com on 19 Jun 2011 at 9:24

GoogleCodeExporter commented 9 years ago
Removed due to improper googedit formatting

Original comment by andyt7...@gmail.com on 8 Jul 2011 at 9:09