FLUID-71: Drag and drop is slow on FireFox

Metadata

Source
FLUID-71
Type
Bug
Priority
Critical
Status
Closed
Resolution
Cannot Reproduce
Assignee
Joseph Scheuhammer
Reporter
Michelle D'Souza
Created
2007-10-24T12:59:39.000-0400
Updated
2008-05-27T16:09:03.000-0400
Versions
  1. 0.1
Fixed Versions
N/A
Component
  1. Reorderer

Description

The item movement is slow to respond when using the Reorderer in Firefox. This is especially apparent with many items and complex markup such as in the Lightbox.

Comments

  • Michelle D'Souza commented 2007-11-07T12:24:49.000-0500

    It is possible that this is slow in the image gallery because the images are large images that are being scaled down. We should try this with smaller images or no images.

  • Joseph Scheuhammer commented 2007-11-14T14:47:31.000-0500

    As a test to see if getting rid of images will be quicker, I hooked up the Reorderer to our "grid-big.html" abstract example. This is a large grid of 1000 orderables. They are essentially <div>'s simliar to those in the Lightbox.html, but without any images. Loading the page into FF on a Mac led to a spinning beach ball for about 30 seconds, followed by an alert that says "unresponsive" script.

    Short conclusion: our current dnd does not scale.

    Hypothesis: it's the way we build the "selector" to hand to the 'accept' option to jQuery().droppable(). That is a string of 1000 id's separated by a comma. Now, since we know exactly which elements are the droppables, why can we not pass an array to jQuery().droppable()? Why must it be something that requires jQuery() to figure that out again?

  • Joseph Scheuhammer commented 2007-11-15T16:02:31.000-0500

    Downgraded to critical – still intend to fix for release 0.1, but no longer a blocker.

  • Joseph Scheuhammer commented 2007-11-16T13:45:28.000-0500

    To determine if the slow speed is due to repeated calls of the orderable finder function within the Reorderer, I placed a console.debug() at the top of that function to print out whenever it is called. I tested with Lightbox.html.

    WIth respect to drag-and-drop, the orderable finder function is called once, ever. It is called from Reorderer._enableDragAndDrop().

    (With respect to the keyboard, the finder function is called every time a cursor key is pressed, regardless of whether it is for navigation or moving a thumbnail. See http://issues.fluidproject.org/browse/FLUID-113).

  • Michelle D'Souza commented 2008-05-27T12:17:15.000-0400

    Drag and drop does not seem to be slow on FireFox. Perhaps the change to the 'trunk' version of jQuery UI helped.

  • Jonathan Hung commented 2008-05-27T16:09:03.000-0400

    Fixed.