GXT Performance Issues

We are working on a fairly complex system using GXT. Although everything works fine on FF, IE (especially IE6) is a completely different story (more than 10 seconds until the browser displays the page).

I understand that one of the main reasons is the DOM manipulation, which is a disaster in IE6 (see http://www.quirksmode.org/dom/innerhtml.html ).

This is thought to be a common Javascript front-end infrastructure problem (such as GWT), but simple code (see below) that otherwise performs the same functional proofs. In fact, in IE6 - getSomeGWT () takes 400 ms, and getSomeGXT () takes 4 seconds. This is an x10 factor that is very different from the user!

private HorizontalPanel getSomeGWT() {
        HorizontalPanel pointsLogoPanel = new HorizontalPanel();
        for (int i=0; i<350; i++) {
            HorizontalPanel innerContainer = new HorizontalPanel();
            innerContainer.add(new Label("some GWT text"));
            pointsLogoPanel.add(innerContainer);
        }
        return pointsLogoPanel;
    }

    private LayoutContainer getSomeGXT() {
        LayoutContainer pointsLogoPanel = new LayoutContainer();
        pointsLogoPanel.setLayoutOnChange(true);
        for (int i=0; i<350; i++) {
            LayoutContainer innerContainer = new LayoutContainer();
            innerContainer.add(new Text("just some text"));
            pointsLogoPanel.add(innerContainer);
        }
        return pointsLogoPanel;
    }

/ , - . DOM; . innerHTML.

AFAIK, (a) GXT (b) UiBinder, GXT.

?

!

+3
2

, - :

pointsLogoPanel.setLayoutOnChange(true);

, .

0

GXT , . , , RowLayout ..

: ? , /? GWT HTML-?

GXT, layoutOnChange. , , .

, layoutOnChange , layout() pointLogoPanel for. , , layout() pointLogoPanel. , , , .

-1

Source: https://habr.com/ru/post/1746259/


All Articles