performance problem with IE8

View: New views
11 Messages — Rating Filter:   Alert me  

performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I found some performance problems with IE8.
Globally, everything seems to be faster with IE8, except one thing.
Managing a tree with a depth greater than 6 levels seems to have catastrophic consequences on IE8 performances.
Here's a code sample:
Click on any node. It takes about 6 seconds to display the right pane of the splitter. It's immediate (or almost) on IE7 or Firefox.

splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true});
treeT.add(node);
for(var j=0;j<2;j++) {
        var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true});
        node.add(node1);
        for(var k=0;k<1;k++) {
                var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true});
                node1.add(node2);
                for(var l=0;l<1;l++) {
                        var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true});
                        node2.add(node3);
                        for(var m=0;m<2;m++) {
                                var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true});
                                node3.add(node4);
                                for(var n=0;n<6;n++) {
                                        var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true});
                                        node4.add(node5);
                                }
                        }
                }
        }
}

treeT.onclick=function() {
        tabFolder = new rialto.widget.TabFolder({name:'tabFolder',top:0,left:0,parent:splitFC.div2,widthItem:120,autoResizeTab:false,isClosable:false,draggableItem:false});
                folder1 = tabFolder.addTabItem('folder1',true);
                folder2 = tabFolder.addTabItem('folder2',true);
                folder3 = tabFolder.addTabItem('folder3',true);
                folder4 = tabFolder.addTabItem('folder4',true);
                folder5 = tabFolder.addTabItem('folder5',true);
}

If you are interested, I can send you IE8's profiler report.

Thanks.

Fred


Re: performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi folks,

any news on this problem?
Did you have time to reproduce it?

Thanks,

Fred

--- In rialto-dev@..., "frederic_viollet" <frederic.viollet@...> wrote:

>
> Hi,
>
> I found some performance problems with IE8.
> Globally, everything seems to be faster with IE8, except one thing.
> Managing a tree with a depth greater than 6 levels seems to have catastrophic consequences on IE8 performances.
> Here's a code sample:
> Click on any node. It takes about 6 seconds to display the right pane of the splitter. It's immediate (or almost) on IE7 or Firefox.
>
> splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true});
> treeT.add(node);
> for(var j=0;j<2;j++) {
> var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true});
> node.add(node1);
> for(var k=0;k<1;k++) {
> var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true});
> node1.add(node2);
> for(var l=0;l<1;l++) {
> var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true});
> node2.add(node3);
> for(var m=0;m<2;m++) {
> var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true});
> node3.add(node4);
> for(var n=0;n<6;n++) {
> var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true});
> node4.add(node5);
> }
> }
> }
> }
> }
>
> treeT.onclick=function() {
> tabFolder = new rialto.widget.TabFolder({name:'tabFolder',top:0,left:0,parent:splitFC.div2,widthItem:120,autoResizeTab:false,isClosable:false,draggableItem:false});
> folder1 = tabFolder.addTabItem('folder1',true);
> folder2 = tabFolder.addTabItem('folder2',true);
> folder3 = tabFolder.addTabItem('folder3',true);
> folder4 = tabFolder.addTabItem('folder4',true);
> folder5 = tabFolder.addTabItem('folder5',true);
> }
>
> If you are interested, I can send you IE8's profiler report.
>
> Thanks.
>
> Fred
>



Re: performance problem with IE8

by Cyril Balit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Fred,

Just to tell you that i didn't forget you. I reproduce the bug and it is cause by the drag and drop behavior of the treeview. But i can't find why for now. I keep searching.

Cyril

--- In rialto-dev@..., "frederic_viollet" <frederic.viollet@...> wrote:

>
> Hi folks,
>
> any news on this problem?
> Did you have time to reproduce it?
>
> Thanks,
>
> Fred
>
> --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> >
> > Hi,
> >
> > I found some performance problems with IE8.
> > Globally, everything seems to be faster with IE8, except one thing.
> > Managing a tree with a depth greater than 6 levels seems to have catastrophic consequences on IE8 performances.
> > Here's a code sample:
> > Click on any node. It takes about 6 seconds to display the right pane of the splitter. It's immediate (or almost) on IE7 or Firefox.
> >
> > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true});
> > treeT.add(node);
> > for(var j=0;j<2;j++) {
> > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true});
> > node.add(node1);
> > for(var k=0;k<1;k++) {
> > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true});
> > node1.add(node2);
> > for(var l=0;l<1;l++) {
> > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true});
> > node2.add(node3);
> > for(var m=0;m<2;m++) {
> > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true});
> > node3.add(node4);
> > for(var n=0;n<6;n++) {
> > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true});
> > node4.add(node5);
> > }
> > }
> > }
> > }
> > }
> >
> > treeT.onclick=function() {
> > tabFolder = new rialto.widget.TabFolder({name:'tabFolder',top:0,left:0,parent:splitFC.div2,widthItem:120,autoResizeTab:false,isClosable:false,draggableItem:false});
> > folder1 = tabFolder.addTabItem('folder1',true);
> > folder2 = tabFolder.addTabItem('folder2',true);
> > folder3 = tabFolder.addTabItem('folder3',true);
> > folder4 = tabFolder.addTabItem('folder4',true);
> > folder5 = tabFolder.addTabItem('folder5',true);
> > }
> >
> > If you are interested, I can send you IE8's profiler report.
> >
> > Thanks.
> >
> > Fred
> >
>



Re: performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok Cyril, thanks....

Fred

--- In rialto-dev@..., "Cyril Balit" <cbalit@...> wrote:

>
> Hi Fred,
>
> Just to tell you that i didn't forget you. I reproduce the bug and it is cause by the drag and drop behavior of the treeview. But i can't find why for now. I keep searching.
>
> Cyril
>
> --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> >
> > Hi folks,
> >
> > any news on this problem?
> > Did you have time to reproduce it?
> >
> > Thanks,
> >
> > Fred
> >
> > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > >
> > > Hi,
> > >
> > > I found some performance problems with IE8.
> > > Globally, everything seems to be faster with IE8, except one thing.
> > > Managing a tree with a depth greater than 6 levels seems to have catastrophic consequences on IE8 performances.
> > > Here's a code sample:
> > > Click on any node. It takes about 6 seconds to display the right pane of the splitter. It's immediate (or almost) on IE7 or Firefox.
> > >
> > > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true});
> > > treeT.add(node);
> > > for(var j=0;j<2;j++) {
> > > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true});
> > > node.add(node1);
> > > for(var k=0;k<1;k++) {
> > > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true});
> > > node1.add(node2);
> > > for(var l=0;l<1;l++) {
> > > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true});
> > > node2.add(node3);
> > > for(var m=0;m<2;m++) {
> > > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true});
> > > node3.add(node4);
> > > for(var n=0;n<6;n++) {
> > > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true});
> > > node4.add(node5);
> > > }
> > > }
> > > }
> > > }
> > > }
> > >
> > > treeT.onclick=function() {
> > > tabFolder = new rialto.widget.TabFolder({name:'tabFolder',top:0,left:0,parent:splitFC.div2,widthItem:120,autoResizeTab:false,isClosable:false,draggableItem:false});
> > > folder1 = tabFolder.addTabItem('folder1',true);
> > > folder2 = tabFolder.addTabItem('folder2',true);
> > > folder3 = tabFolder.addTabItem('folder3',true);
> > > folder4 = tabFolder.addTabItem('folder4',true);
> > > folder5 = tabFolder.addTabItem('folder5',true);
> > > }
> > >
> > > If you are interested, I can send you IE8's profiler report.
> > >
> > > Thanks.
> > >
> > > Fred
> > >
> >
>



Re: performance problem with IE8

by Cyril Balit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Fred

I fixed it

Just update you rialto.js file

Cyril

--- In rialto-dev@..., "frederic_viollet" <frederic.viollet@...> wrote:

>
> Ok Cyril, thanks....
>
> Fred
>
> --- In rialto-dev@..., "Cyril Balit" <cbalit@> wrote:
> >
> > Hi Fred,
> >
> > Just to tell you that i didn't forget you. I reproduce the bug and it is cause by the drag and drop behavior of the treeview. But i can't find why for now. I keep searching.
> >
> > Cyril
> >
> > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > >
> > > Hi folks,
> > >
> > > any news on this problem?
> > > Did you have time to reproduce it?
> > >
> > > Thanks,
> > >
> > > Fred
> > >
> > > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > > >
> > > > Hi,
> > > >
> > > > I found some performance problems with IE8.
> > > > Globally, everything seems to be faster with IE8, except one thing.
> > > > Managing a tree with a depth greater than 6 levels seems to have catastrophic consequences on IE8 performances.
> > > > Here's a code sample:
> > > > Click on any node. It takes about 6 seconds to display the right pane of the splitter. It's immediate (or almost) on IE7 or Firefox.
> > > >
> > > > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > > > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > > > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true});
> > > > treeT.add(node);
> > > > for(var j=0;j<2;j++) {
> > > > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true});
> > > > node.add(node1);
> > > > for(var k=0;k<1;k++) {
> > > > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true});
> > > > node1.add(node2);
> > > > for(var l=0;l<1;l++) {
> > > > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true});
> > > > node2.add(node3);
> > > > for(var m=0;m<2;m++) {
> > > > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true});
> > > > node3.add(node4);
> > > > for(var n=0;n<6;n++) {
> > > > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true});
> > > > node4.add(node5);
> > > > }
> > > > }
> > > > }
> > > > }
> > > > }
> > > >
> > > > treeT.onclick=function() {
> > > > tabFolder = new rialto.widget.TabFolder({name:'tabFolder',top:0,left:0,parent:splitFC.div2,widthItem:120,autoResizeTab:false,isClosable:false,draggableItem:false});
> > > > folder1 = tabFolder.addTabItem('folder1',true);
> > > > folder2 = tabFolder.addTabItem('folder2',true);
> > > > folder3 = tabFolder.addTabItem('folder3',true);
> > > > folder4 = tabFolder.addTabItem('folder4',true);
> > > > folder5 = tabFolder.addTabItem('folder5',true);
> > > > }
> > > >
> > > > If you are interested, I can send you IE8's profiler report.
> > > >
> > > > Thanks.
> > > >
> > > > Fred
> > > >
> > >
> >
>



Re: performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Cyril,

it works!


--- In rialto-dev@..., "Cyril Balit" <cbalit@...> wrote:

>
> Fred
>
> I fixed it
>
> Just update you rialto.js file
>
> Cyril
>
> --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> >
> > Ok Cyril, thanks....
> >
> > Fred
> >
> > --- In rialto-dev@..., "Cyril Balit" <cbalit@> wrote:
> > >
> > > Hi Fred,
> > >
> > > Just to tell you that i didn't forget you. I reproduce the bug and it is cause by the drag and drop behavior of the treeview. But i can't find why for now. I keep searching.
> > >
> > > Cyril
> > >
> > > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > > >
> > > > Hi folks,
> > > >
> > > > any news on this problem?
> > > > Did you have time to reproduce it?
> > > >
> > > > Thanks,
> > > >
> > > > Fred
> > > >
> > > > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I found some performance problems with IE8.
> > > > > Globally, everything seems to be faster with IE8, except one thing.
> > > > > Managing a tree with a depth greater than 6 levels seems to have catastrophic consequences on IE8 performances.
> > > > > Here's a code sample:
> > > > > Click on any node. It takes about 6 seconds to display the right pane of the splitter. It's immediate (or almost) on IE7 or Firefox.
> > > > >
> > > > > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > > > > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > > > > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true});
> > > > > treeT.add(node);
> > > > > for(var j=0;j<2;j++) {
> > > > > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true});
> > > > > node.add(node1);
> > > > > for(var k=0;k<1;k++) {
> > > > > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true});
> > > > > node1.add(node2);
> > > > > for(var l=0;l<1;l++) {
> > > > > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true});
> > > > > node2.add(node3);
> > > > > for(var m=0;m<2;m++) {
> > > > > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true});
> > > > > node3.add(node4);
> > > > > for(var n=0;n<6;n++) {
> > > > > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true});
> > > > > node4.add(node5);
> > > > > }
> > > > > }
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > treeT.onclick=function() {
> > > > > tabFolder = new rialto.widget.TabFolder({name:'tabFolder',top:0,left:0,parent:splitFC.div2,widthItem:120,autoResizeTab:false,isClosable:false,draggableItem:false});
> > > > > folder1 = tabFolder.addTabItem('folder1',true);
> > > > > folder2 = tabFolder.addTabItem('folder2',true);
> > > > > folder3 = tabFolder.addTabItem('folder3',true);
> > > > > folder4 = tabFolder.addTabItem('folder4',true);
> > > > > folder5 = tabFolder.addTabItem('folder5',true);
> > > > > }
> > > > >
> > > > > If you are interested, I can send you IE8's profiler report.
> > > > >
> > > > > Thanks.
> > > > >
> > > > > Fred
> > > > >
> > > >
> > >
> >
>



Re: performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

--- In rialto-dev@..., "frederic_viollet" <frederic.viollet@...> wrote:
>
> Thanks Cyril,
>
> it works!
>

Hi Cyril,

I was a little too fast on this problem. :(
In fact, I'm still encountering performance problems with IE8.
Here's the new scenario:
1* You need to write a servlet that will be called when an node.onclick is triggered. The servlet doesn't need to send back any info (see the following example).
2* Copy the following layout
3* Deploy the tree by clicking on the nodes.
===> The ajaxRequest gets slower and slower as you get deeper in the tree... :(

************* Layout ****************
addLoadFunc = function(theNode) {
        theNode.onclick=function() {
                var mUrl = "LoadNodes";
                var remote=new rialto.io.AjaxRequest({url:mUrl, method:'post', callBackObjectOnSuccess:theNode, onSuccess: theNode.callBack});
                remote.load("");
                remote = null;
        }
        theNode.callBack=function(response) {
                resp = eval("(" + response.responseText + ")");
        }
}

splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true,open:false});
treeT.add(node);
for(var j=0;j<2;j++) {
        var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true,open:false});
        addLoadFunc(node1);
        node.add(node1);
        for(var k=0;k<1;k++) {
                var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true,open:false});
                addLoadFunc(node2);
                node1.add(node2);
                for(var l=0;l<1;l++) {
                        var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true,open:false});
                        addLoadFunc(node3);
                        node2.add(node3);
                        for(var m=0;m<2;m++) {
                                var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true,open:false});
                                addLoadFunc(node4);
                                node3.add(node4);
                                for(var n=0;n<6;n++) {
                                        var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true,open:false});
                                        addLoadFunc(node5);
                                        node4.add(node5);
                                        for(var o=0;o<6;o++) {
                                                var node6=new rialto.widget.TreeNode({name:'node',text:'level7',reload:false,url:"",draggable:true,open:false});
                                                addLoadFunc(node6);
                                                node5.add(node6);
                                        }
                                }
                        }
                }
        }
}
************* End Layout ****************

************* Servlet ****************
public class LoadNodes extends javax.servlet.http.HttpServlet{
       
        public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    /** Destroys the servlet.
     */
    public void destroy() {
       
    }
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       response.setHeader("Content-Type","text/javascript; charset=UTF-8");
       PrintWriter out = response.getWriter();
       out.write("");
       out.close();
        }
   
          //Traiter la requ�te HTTP post
          public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              doGet(request, response);
          }

}
************* End Servlet ****************



Re: performance problem with IE8

by Cyril Balit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Fred,

The problem cames from the waitWindow of the AjaxRequest.
With

var remote=new rialto.io.AjaxRequest({withWaitWindow:false,... the increase delay diseappear

Stil searching why

Cyril

--- In rialto-dev@..., "frederic_viollet" <frederic.viollet@...> wrote:

>
> --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> >
> > Thanks Cyril,
> >
> > it works!
> >
>
> Hi Cyril,
>
> I was a little too fast on this problem. :(
> In fact, I'm still encountering performance problems with IE8.
> Here's the new scenario:
> 1* You need to write a servlet that will be called when an node.onclick is triggered. The servlet doesn't need to send back any info (see the following example).
> 2* Copy the following layout
> 3* Deploy the tree by clicking on the nodes.
> ===> The ajaxRequest gets slower and slower as you get deeper in the tree... :(
>
> ************* Layout ****************
> addLoadFunc = function(theNode) {
> theNode.onclick=function() {
> var mUrl = "LoadNodes";
> var remote=new rialto.io.AjaxRequest({url:mUrl, method:'post', callBackObjectOnSuccess:theNode, onSuccess: theNode.callBack});
> remote.load("");
> remote = null;
> }
> theNode.callBack=function(response) {
> resp = eval("(" + response.responseText + ")");
> }
> }
>
> splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true,open:false});
> treeT.add(node);
> for(var j=0;j<2;j++) {
> var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true,open:false});
> addLoadFunc(node1);
> node.add(node1);
> for(var k=0;k<1;k++) {
> var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true,open:false});
> addLoadFunc(node2);
> node1.add(node2);
> for(var l=0;l<1;l++) {
> var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true,open:false});
> addLoadFunc(node3);
> node2.add(node3);
> for(var m=0;m<2;m++) {
> var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true,open:false});
> addLoadFunc(node4);
> node3.add(node4);
> for(var n=0;n<6;n++) {
> var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true,open:false});
> addLoadFunc(node5);
> node4.add(node5);
> for(var o=0;o<6;o++) {
> var node6=new rialto.widget.TreeNode({name:'node',text:'level7',reload:false,url:"",draggable:true,open:false});
> addLoadFunc(node6);
> node5.add(node6);
> }
> }
> }
> }
> }
> }
> ************* End Layout ****************
>
> ************* Servlet ****************
> public class LoadNodes extends javax.servlet.http.HttpServlet{
>
> public void init(ServletConfig config) throws ServletException {
>         super.init(config);
>     }
>
>     /** Destroys the servlet.
>      */
>     public void destroy() {
>        
>     }
>    
>     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
>        response.setHeader("Content-Type","text/javascript; charset=UTF-8");
>        PrintWriter out = response.getWriter();
>        out.write("");
>        out.close();
> }
>    
>  //Traiter la requ�te HTTP post
>  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
>      doGet(request, response);
>  }
>
> }
> ************* End Servlet ****************
>



Re: performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Cyril,

Thanks for taking a look at the problem...
Since IE8 is now deployed through WindowsUpdate, the problem is getting quite critical in our application.

Thanks again.

Fred

--- In rialto-dev@..., "Cyril Balit" <cbalit@...> wrote:

>
> Hello Fred,
>
> The problem cames from the waitWindow of the AjaxRequest.
> With
>
> var remote=new rialto.io.AjaxRequest({withWaitWindow:false,... the increase delay diseappear
>
> Stil searching why
>
> Cyril
>
> --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> >
> > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > >
> > > Thanks Cyril,
> > >
> > > it works!
> > >
> >
> > Hi Cyril,
> >
> > I was a little too fast on this problem. :(
> > In fact, I'm still encountering performance problems with IE8.
> > Here's the new scenario:
> > 1* You need to write a servlet that will be called when an node.onclick is triggered. The servlet doesn't need to send back any info (see the following example).
> > 2* Copy the following layout
> > 3* Deploy the tree by clicking on the nodes.
> > ===> The ajaxRequest gets slower and slower as you get deeper in the tree... :(
> >
> > ************* Layout ****************
> > addLoadFunc = function(theNode) {
> > theNode.onclick=function() {
> > var mUrl = "LoadNodes";
> > var remote=new rialto.io.AjaxRequest({url:mUrl, method:'post', callBackObjectOnSuccess:theNode, onSuccess: theNode.callBack});
> > remote.load("");
> > remote = null;
> > }
> > theNode.callBack=function(response) {
> > resp = eval("(" + response.responseText + ")");
> > }
> > }
> >
> > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true,open:false});
> > treeT.add(node);
> > for(var j=0;j<2;j++) {
> > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true,open:false});
> > addLoadFunc(node1);
> > node.add(node1);
> > for(var k=0;k<1;k++) {
> > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true,open:false});
> > addLoadFunc(node2);
> > node1.add(node2);
> > for(var l=0;l<1;l++) {
> > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true,open:false});
> > addLoadFunc(node3);
> > node2.add(node3);
> > for(var m=0;m<2;m++) {
> > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true,open:false});
> > addLoadFunc(node4);
> > node3.add(node4);
> > for(var n=0;n<6;n++) {
> > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true,open:false});
> > addLoadFunc(node5);
> > node4.add(node5);
> > for(var o=0;o<6;o++) {
> > var node6=new rialto.widget.TreeNode({name:'node',text:'level7',reload:false,url:"",draggable:true,open:false});
> > addLoadFunc(node6);
> > node5.add(node6);
> > }
> > }
> > }
> > }
> > }
> > }
> > ************* End Layout ****************
> >
> > ************* Servlet ****************
> > public class LoadNodes extends javax.servlet.http.HttpServlet{
> >
> > public void init(ServletConfig config) throws ServletException {
> >         super.init(config);
> >     }
> >
> >     /** Destroys the servlet.
> >      */
> >     public void destroy() {
> >        
> >     }
> >    
> >     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
> >        response.setHeader("Content-Type","text/javascript; charset=UTF-8");
> >        PrintWriter out = response.getWriter();
> >        out.write("");
> >        out.close();
> > }
> >    
> >  //Traiter la requ�te HTTP post
> >  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
> >      doGet(request, response);
> >  }
> >
> > }
> > ************* End Servlet ****************
> >
>



Re: performance problem with IE8

by Cyril Balit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Fred,

I think i fixed the problem
Can you update the rialto.js file from the svn and check in your application with IE8.

Cyril
--- In rialto-dev@..., "frederic_viollet" <frederic.viollet@...> wrote:

>
> Hi Cyril,
>
> Thanks for taking a look at the problem...
> Since IE8 is now deployed through WindowsUpdate, the problem is getting quite critical in our application.
>
> Thanks again.
>
> Fred
>
> --- In rialto-dev@..., "Cyril Balit" <cbalit@> wrote:
> >
> > Hello Fred,
> >
> > The problem cames from the waitWindow of the AjaxRequest.
> > With
> >
> > var remote=new rialto.io.AjaxRequest({withWaitWindow:false,... the increase delay diseappear
> >
> > Stil searching why
> >
> > Cyril
> >
> > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > >
> > > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > > >
> > > > Thanks Cyril,
> > > >
> > > > it works!
> > > >
> > >
> > > Hi Cyril,
> > >
> > > I was a little too fast on this problem. :(
> > > In fact, I'm still encountering performance problems with IE8.
> > > Here's the new scenario:
> > > 1* You need to write a servlet that will be called when an node.onclick is triggered. The servlet doesn't need to send back any info (see the following example).
> > > 2* Copy the following layout
> > > 3* Deploy the tree by clicking on the nodes.
> > > ===> The ajaxRequest gets slower and slower as you get deeper in the tree... :(
> > >
> > > ************* Layout ****************
> > > addLoadFunc = function(theNode) {
> > > theNode.onclick=function() {
> > > var mUrl = "LoadNodes";
> > > var remote=new rialto.io.AjaxRequest({url:mUrl, method:'post', callBackObjectOnSuccess:theNode, onSuccess: theNode.callBack});
> > > remote.load("");
> > > remote = null;
> > > }
> > > theNode.callBack=function(response) {
> > > resp = eval("(" + response.responseText + ")");
> > > }
> > > }
> > >
> > > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true,open:false});
> > > treeT.add(node);
> > > for(var j=0;j<2;j++) {
> > > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true,open:false});
> > > addLoadFunc(node1);
> > > node.add(node1);
> > > for(var k=0;k<1;k++) {
> > > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true,open:false});
> > > addLoadFunc(node2);
> > > node1.add(node2);
> > > for(var l=0;l<1;l++) {
> > > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true,open:false});
> > > addLoadFunc(node3);
> > > node2.add(node3);
> > > for(var m=0;m<2;m++) {
> > > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true,open:false});
> > > addLoadFunc(node4);
> > > node3.add(node4);
> > > for(var n=0;n<6;n++) {
> > > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true,open:false});
> > > addLoadFunc(node5);
> > > node4.add(node5);
> > > for(var o=0;o<6;o++) {
> > > var node6=new rialto.widget.TreeNode({name:'node',text:'level7',reload:false,url:"",draggable:true,open:false});
> > > addLoadFunc(node6);
> > > node5.add(node6);
> > > }
> > > }
> > > }
> > > }
> > > }
> > > }
> > > ************* End Layout ****************
> > >
> > > ************* Servlet ****************
> > > public class LoadNodes extends javax.servlet.http.HttpServlet{
> > >
> > > public void init(ServletConfig config) throws ServletException {
> > >         super.init(config);
> > >     }
> > >
> > >     /** Destroys the servlet.
> > >      */
> > >     public void destroy() {
> > >        
> > >     }
> > >    
> > >     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
> > >        response.setHeader("Content-Type","text/javascript; charset=UTF-8");
> > >        PrintWriter out = response.getWriter();
> > >        out.write("");
> > >        out.close();
> > > }
> > >    
> > >  //Traiter la requ�te HTTP post
> > >  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
> > >      doGet(request, response);
> > >  }
> > >
> > > }
> > > ************* End Servlet ****************
> > >
> >
>



Re: performance problem with IE8

by frederic_viollet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Cyril,

the fix works perfectly well! :)
Thanks a lot for your help.

Fred

--- In rialto-dev@..., "Cyril Balit" <cbalit@...> wrote:

>
> Fred,
>
> I think i fixed the problem
> Can you update the rialto.js file from the svn and check in your application with IE8.
>
> Cyril
> --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> >
> > Hi Cyril,
> >
> > Thanks for taking a look at the problem...
> > Since IE8 is now deployed through WindowsUpdate, the problem is getting quite critical in our application.
> >
> > Thanks again.
> >
> > Fred
> >
> > --- In rialto-dev@..., "Cyril Balit" <cbalit@> wrote:
> > >
> > > Hello Fred,
> > >
> > > The problem cames from the waitWindow of the AjaxRequest.
> > > With
> > >
> > > var remote=new rialto.io.AjaxRequest({withWaitWindow:false,... the increase delay diseappear
> > >
> > > Stil searching why
> > >
> > > Cyril
> > >
> > > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > > >
> > > > --- In rialto-dev@..., "frederic_viollet" <frederic.viollet@> wrote:
> > > > >
> > > > > Thanks Cyril,
> > > > >
> > > > > it works!
> > > > >
> > > >
> > > > Hi Cyril,
> > > >
> > > > I was a little too fast on this problem. :(
> > > > In fact, I'm still encountering performance problems with IE8.
> > > > Here's the new scenario:
> > > > 1* You need to write a servlet that will be called when an node.onclick is triggered. The servlet doesn't need to send back any info (see the following example).
> > > > 2* Copy the following layout
> > > > 3* Deploy the tree by clicking on the nodes.
> > > > ===> The ajaxRequest gets slower and slower as you get deeper in the tree... :(
> > > >
> > > > ************* Layout ****************
> > > > addLoadFunc = function(theNode) {
> > > > theNode.onclick=function() {
> > > > var mUrl = "LoadNodes";
> > > > var remote=new rialto.io.AjaxRequest({url:mUrl, method:'post', callBackObjectOnSuccess:theNode, onSuccess: theNode.callBack});
> > > > remote.load("");
> > > > remote = null;
> > > > }
> > > > theNode.callBack=function(response) {
> > > > resp = eval("(" + response.responseText + ")");
> > > > }
> > > > }
> > > >
> > > > splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.2,orientation:'h',name:'splitFC',parent:document.body,style:'3D',minProp:0,maxProp:1,withImg:true,reverseClose:false});
> > > > treeT = new rialto.widget.Tree({name:'treeReload',top:'5',left:'0',width:'',height:'99%',parent:splitFC.div1,draggableNode:true,targetNode:true});
> > > > var node=new rialto.widget.TreeNode({name:'node',text:'level1',reload:false,url:"",draggable:true,open:false});
> > > > treeT.add(node);
> > > > for(var j=0;j<2;j++) {
> > > > var node1=new rialto.widget.TreeNode({name:'node',text:'level2',reload:false,url:"",draggable:true,open:false});
> > > > addLoadFunc(node1);
> > > > node.add(node1);
> > > > for(var k=0;k<1;k++) {
> > > > var node2=new rialto.widget.TreeNode({name:'node',text:'level3',reload:false,url:"",draggable:true,open:false});
> > > > addLoadFunc(node2);
> > > > node1.add(node2);
> > > > for(var l=0;l<1;l++) {
> > > > var node3=new rialto.widget.TreeNode({name:'node',text:'level4',reload:false,url:"",draggable:true,open:false});
> > > > addLoadFunc(node3);
> > > > node2.add(node3);
> > > > for(var m=0;m<2;m++) {
> > > > var node4=new rialto.widget.TreeNode({name:'node',text:'level5',reload:false,url:"",draggable:true,open:false});
> > > > addLoadFunc(node4);
> > > > node3.add(node4);
> > > > for(var n=0;n<6;n++) {
> > > > var node5=new rialto.widget.TreeNode({name:'node',text:'level6',reload:false,url:"",draggable:true,open:false});
> > > > addLoadFunc(node5);
> > > > node4.add(node5);
> > > > for(var o=0;o<6;o++) {
> > > > var node6=new rialto.widget.TreeNode({name:'node',text:'level7',reload:false,url:"",draggable:true,open:false});
> > > > addLoadFunc(node6);
> > > > node5.add(node6);
> > > > }
> > > > }
> > > > }
> > > > }
> > > > }
> > > > }
> > > > ************* End Layout ****************
> > > >
> > > > ************* Servlet ****************
> > > > public class LoadNodes extends javax.servlet.http.HttpServlet{
> > > >
> > > > public void init(ServletConfig config) throws ServletException {
> > > >         super.init(config);
> > > >     }
> > > >
> > > >     /** Destroys the servlet.
> > > >      */
> > > >     public void destroy() {
> > > >        
> > > >     }
> > > >    
> > > >     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
> > > >        response.setHeader("Content-Type","text/javascript; charset=UTF-8");
> > > >        PrintWriter out = response.getWriter();
> > > >        out.write("");
> > > >        out.close();
> > > > }
> > > >    
> > > >  //Traiter la requ�te HTTP post
> > > >  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
> > > >      doGet(request, response);
> > > >  }
> > > >
> > > > }
> > > > ************* End Servlet ****************
> > > >
> > >
> >
>