thank you for all replies.

i have a few questions:

1) JSON data graph with Javascript Overlay -- i can't find example on
this... can someone tell me what is this?

2) so the  rendering of the data is probably the reason why an
application looks slow.....  if the data i want to transfer from
server to client is huge..... should i still be using RPC? or is there
a better method? currently, i am using gwt-rpc to transfer 2d array of
string.....

3 can someone explain to me why the need of JSON and XMl
serialisation? besides the need to communicate with non-java server?


thanks......


On Apr 16, 6:04 pm, Jason Essington <jason.essing...@gmail.com> wrote:
> Their reasoning was that object instantiation was orders of magnitude  
> slower than simply building the HTML. in some cases even building HTML  
> on the client was too slow, so they would shuttle it off to the  
> server. The application would decide at runtime which way was faster,  
> and use the fastest method.
>
> For a quick rendering test, you can try to create a 100x100 table  
> (grid) using GWT widgets, and then do the same thing using  
> setInnerHTML() (with a string that ultimately has the same DOM) ...  
> you'll find that while the setInnerHTML() is nearly instantaneous, the  
> creation of the widgets takes some time.
>
> Creation of individual DOM elements in javascript seems to be pretty  
> slow (it is a bit faster in the new generation browsers ff3, Safari4  
> and chrome) but setInnerHTML() doesn't create those elements in  
> javascript, it is done natively in the browser and thus is much faster.
>
> Another technique that I use when populating multiple "cells" that  
> have the same HTML structure is to embed a hidden "template" in the  
> host page. This template has all of the HTML structure, but no  
> content. I have GWT find and store the elements that will be bound  
> with data (traverse the DOM of the template only once) from my model  
> objects, then when I need to fill the cells, I setInnerText, or  
> setInnerHTML() on each of the found elements from the template, and  
> once the databinding is complete, perform a getInnerHTML() on the  
> template, and use that string to setInnerHTML() on the "cell" ... this  
> works great as there is really no DOM object creation happening in  
> Javascript, and is considerably faster than building up the widgets  
> individually.
>
> -jason
>
> On Apr 16, 2009, at 9:44 AM, Vitali Lovich wrote:
>
> > Can you point out the relevant segments within the presentation?  I  
> > skimmed through some parts, & it seemed like they went for just  
> > building the raw HTML on the client side (hence the reason they  
> > transfer HTML from the server).
>
> > Also, they're presentation is for 1.4, so they're reasons might not  
> > be relevant any more (especially since 1.5 included a lot of  
> > improvements & 1.6 introduced improvements with the event subsystem).
>
> > Also, they don't seem to be using deferred binding for some reason  
> > to get around
>
> > On Thu, Apr 16, 2009 at 11:19 AM, Jason Essington <jason.essing...@gmail.com
> > > wrote:
> > You might want to tell the Lombardi Blueprint guys that ... as it  
> > turns out, they discovered in the development of their application  
> > that you are mistaken on all points.
>
> > Feel free to watch their presentation from Google I/O last year if  
> > you'd like to check my references:
> >http://sites.google.com/site/io/using-gwt-to-build-a-high-performance...
>
> > -jason
>
> > On Apr 16, 2009, at 9:10 AM, Vitali Lovich wrote:
>
> >> I dunno about that one two fronts:
>
> >> 1)  All the same DOM elements still have to be created.  This would  
> >> only help if you have such a slow JS engine in your browser that  
> >> running the DOM manipulations in Javascript is so slow that it  
> >> outweighs the cost of actually performing the manipulations (which  
> >> I believe would always be done in native code anyways)
>
> >> 2)  You're transmitting more data across the pipe - the extra  
> >> markup is unnecessary data & can bloat your transfer by quite a  
> >> bit, slowing down your responsiveness.
>
> >> 3)  It's not scalable.  Your moving rendering code from the client  
> >> to the server which places more load on the server.  Performing  
> >> string concatenations also isn't cheap (unless you build your own  
> >> string class that offers fast concatenation through pointers to  
> >> strings & perform all the stream output yourself).  Obviously if  
> >> the number of users is limited you don't care.
>
> >> So all 3 reasons together (mainly 1 & 2 though), I don't see how  
> >> that would help.  Obviously some hard numbers are needed as all  
> >> this is just hand waving guesses of expected behaviour.
>
> >> On Thu, Apr 16, 2009 at 10:55 AM, Arthur Kalmenson <arthur.k...@gmail.com
> >> > wrote:
>
> >> Just asked a GWT wizard on IRC and turns out I was incorrect. He
> >> offered an interesting alternative solution. Build the table as HTML
> >> and send that down instead.
>
> >> --
> >> Arthur Kalmenson
>
> >> On Thu, Apr 16, 2009 at 10:46 AM, Ian Bambury  
> >> <ianbamb...@gmail.com> wrote:
> >> > 2009/4/16 Vitali Lovich <vlov...@gmail.com>
>
> >> >> You seem to be saying that:
>
> >> >> tree t = new tree()
> >> >> t.addItem("abc");
> >> >> t.addItem("def");
> >> >> RootPanel.get().add(t);
>
> >> >> will have fewer reflows than
>
> >> >> tree t = new tree()
> >> >> RootPanel.get().add(t)
> >> >> t.addItem("abc")
> >> >> t.addItem("def")
>
> >> >> According to you (at least from what you've said so far) is that  
> >> the 1st
> >> >> snippet will cause 1 DOM reflow whereas the below snippet will  
> >> cause 2,
> >> >> which isn't actually the case AFAIK.  Both will only cause 1 &  
> >> will be
> >> >> equally fast.
>
> >> > I think you are both right, depending on the browser you are in.
> >> > FF2 (IIRC) will rerender during a sequence where most other  
> >> browsers won't.
> >> > I don't know when it decides to do that, but most other browsers  
> >> would be
> >> > still displaying your splash screen while FF2 has hidden it and  
> >> has stuff
> >> > dancing about on the screen.
> >> > OTOH, if you widget is not attached and you are setting  
> >> percentage heights
> >> > and widths, for example, they will fail.
> >> > Ian
>
> >> >http://examples.roughian.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to