I found iterations over potentially large structures + collections which indeed got slow for me.
They use $.each with $.proxy-fied callbacks and were collecting widget elements by calling $xxx = $xxx.add(...) here:
This became noticable when having small widget_base_dimensions with wide widgets at the top; it took a long time until dragging such a widget actually started.
I could reduce the delay very much by using primitive iteration over the according arrays / array-like objects combined with traditional collection in a native array and checking for duplicate elements using indexOf there. Transformation to a jQuery set can be done at the end with $mySet = $(mySetOfJQobjectsAsArray).map(function() { return this.toArray(); });
I found iterations over potentially large structures + collections which indeed got slow for me. They use $.each with $.proxy-fied callbacks and were collecting widget elements by calling $xxx = $xxx.add(...) here:
fn.get_widgets_under_player fn.get_widgets_overlapped fn.widgets_below
This became noticable when having small widget_base_dimensions with wide widgets at the top; it took a long time until dragging such a widget actually started. I could reduce the delay very much by using primitive iteration over the according arrays / array-like objects combined with traditional collection in a native array and checking for duplicate elements using indexOf there. Transformation to a jQuery set can be done at the end with $mySet = $(mySetOfJQobjectsAsArray).map(function() { return this.toArray(); });