Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.6.1
-
Component/s: None
-
Labels:None
-
Environment:any
Description
is drastically slowed down, because of some javascript issues.
looking at the firebug console shows the following reoccurring output:
[window.stateMon] Not rebuilding [testForm:tree_2:n-root:_id221] type [Droppable]icefaces-d2d.js (line 1041)
This error will continuosly be printed to the console. Moreover, this not only
effects the currently running application, but also the cpu load. Other processes
on the same machine are slowed down as a consequence.
-
- Test_DragAndDropInTree.rar
- 45 kB
- Michael Thiem
-
Hide
- Test_DragAndDropInTree.war
- 4.88 MB
- Michael Thiem
-
- META-INF/MANIFEST.MF 0.0 kB
- WEB-INF/classes/.../CustomUserObject.class 0.2 kB
- WEB-INF/classes/.../NodeUserObject.class 5 kB
- WEB-INF/classes/.../NodeUserObject2.class 5 kB
- WEB-INF/classes/com/.../tree/TreeBean.class 6 kB
- WEB-INF/classes/com/.../tree/TreeBean2.class 6 kB
- WEB-INF/.../TestBean$StringBean.class 0.7 kB
- WEB-INF/classes/test/TestBean.class 2 kB
- WEB-INF/faces-config.xml 1 kB
- WEB-INF/html_basic.tld 244 kB
- WEB-INF/jsf_core.tld 25 kB
- WEB-INF/lib/backport-util-concurrent.jar 343 kB
- WEB-INF/lib/commons-beanutils.jar 100 kB
- WEB-INF/lib/commons-collections.jar 164 kB
- WEB-INF/lib/commons-digester.jar 96 kB
- WEB-INF/lib/commons-fileupload.jar 52 kB
- WEB-INF/lib/commons-logging.jar 27 kB
- WEB-INF/lib/el-api.jar 24 kB
- WEB-INF/lib/el-ri.jar 97 kB
- WEB-INF/lib/icefaces-comps.jar 621 kB
- WEB-INF/lib/icefaces-facelets.jar 575 kB
- WEB-INF/lib/icefaces.jar 687 kB
- WEB-INF/lib/jsf-api.jar 324 kB
- WEB-INF/lib/jsf-impl.jar 602 kB
- WEB-INF/lib/jstl.jar 17 kB
- WEB-INF/.../krysalis-jCharts-1.0.0-alpha-1.jar 151 kB
- WEB-INF/lib/standard.jar 343 kB
- WEB-INF/lib/xercesImpl.jar 1.15 MB
- WEB-INF/lib/xml-apis.jar 190 kB
- WEB-INF/web.xml 3 kB
Issue Links
- depends on
-
ICE-2313 Optimize the Draggable component to increase scalability
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
We have tested the attached demo, the log messages are informational and not a problem. The draggable panelGroup log this message when a draggable element already found in the DOM and don't need to be rebuild.
The slow performance is inherited from the tree itself, which is known issue, so it will be fixed when tree will be fixed. In addition to that if you open the firebug it starts logging on the console which also cause slower performance and more cpu usage. As Mircea quoted that "Firebug's console will never remove the logged events unless you reload the page. This results in a pseudo-memory leak when running an application for a long time."
The reported JS logging is not responsible for a performance impact on the tree with drag and drop when not running in debug mode.
Performance seems to be ok on Firefox. It's only on IE and seems to only be due to the Drag and Drop.
This is a high priority issue for two of our support clients who both are facing this issue.
On the Tree node expend event, all the draggable and dropable panelGroup(s) creates a Drag&Drop Java script object on the client and store them into an array and then stateMonitor iterate through to that array twice first time for draggable objects and second time for the dropable objects, to see if any of the object need to be rebuilt. The rebuild process is being forced by the component as well as its defined in the connection.onReceive() in the bridge, this method is being invoked when there is an update sent to the client. The ping and pong causing this method to be invoked on every heartbeat and stateMonitor keep iterate through the list.
I have feeling that stateMonitor is not working appropriately for IE when there are even more then 20 Draggable objects.
The indicated pre-requisite issues will remove scalability issues related to using D&D on numerous components in a page.
ICE-2313 fixes this problem.
tested on tomcat 5.20 and with firefox 2.0