Re: GWT Performace Tips

2011-02-10 Thread Martin Gorostegui
Agree with Pascal.

TJ: Maybe you can tell us what your application consists of so that it gets
easier to identify and isolate a DOM manipulation performance problem (if
this is the case). Does it have some kind of table with lots of elements? or
maybe a listbox with lots of entries?

For those problems, probably creating content using innerHTML instead of
appending node elements to the DOM tree will improve your performance a lot
and make your application usable even in IE7. You may look at the latest
cell based widgets for more info:
http://code.google.com/webtoolkit/doc/latest/DevGuideUiCellWidgets.html#selection

Hope this helps,

Martin

On Thu, Feb 10, 2011 at 5:17 PM, Pascal zig...@gmail.com wrote:

 One place where you might want to start looking is DOM manipulation.
 IE is much slower at everything but the DOM can kill your app
 performance quicker than anything else.

 An example we ran into, creating a table dynamically. Anything that
 tries to build and manipulate a table using the DOM (like FlexTable or
 Grid) for a table that has more than 15-20 rows and around 10 columns
 will take forever  in IE.

 Pascal

 On 10 fév, 12:33, tjmcc18 tjmc...@gmail.com wrote:
  I am working on a GWT application and over time it has become
  extremely slow while running in IE7.  It still runs very fast in
  Firefox3 however.  This leads me to believe there must be some GWT
  specific programming techniques that while acceptable when running in
  Firefox, cause IE to run very slow.
 
  I know there are various debuggers and things I can use to attempt to
  find the cause, but has anyone run into this issue where IE is slow
  and FF is fast?  Have you found any techniques which enabled you to
  speed up IE?
 
  Thanks,
 
  TJ

 --
 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.



-- 
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.



Re: [gwt-contrib] Re: Incubator's GlassPanel to GWT trunk

2009-11-23 Thread Martin Gorostegui
Thanks for your answer Thomas.
Actually I was interested in having the GlassPanel as a separate widget and
with the possibility of applying it to any absolutePanel. I already
implemented my own widget for that based on the patch I mentioned before but
wanted to know if those features would make it to the trunk in any upcoming
release.

Thanks,

Martin

On Sun, Nov 22, 2009 at 5:18 PM, Thomas Broyer t.bro...@gmail.com wrote:



 On 22 nov, 18:24, MartinGoros martin.goroste...@gmail.com wrote:
  Hi people,
 
  After downloading GWT 2.0 RC I thought that the Incubator's GlassPanel
  modified as stated inhttp://gwt-code-reviews.appspot.com/39806/show
  would be there but didn't find it... Any comments in the status of the
  that patch? may it make it to the GWT 2.0 final release? any blocking
  issue for promoting this?

 GlassPanel isn't there, but PopupPanel::setGlassEnabled is:
 http://code.google.com/p/google-web-toolkit/source/detail?r=6709

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: How do you design your project structure?

2009-02-10 Thread Martin Gorostegui
Hi Rafael,

Here's the way I do this:
http://dynamicjasper.svn.sourceforge.net/viewvc/dynamicjasper/playground/trunk/src/main/java/ar/com/fdvs/dj/example/client/

Also browsing some big project's repositories may help you with that kind of
doubts:
http://queweb.cvs.sourceforge.net/viewvc/queweb/queweb/qwcore/qwcore-gwt/src/com/queplix/core/client/
http://openkm.cvs.sourceforge.net/viewvc/openkm/openkm/src/es/git/openkm/frontend/client/

Hope this helps,

Martin
On Tue, Feb 10, 2009 at 2:16 PM, Rafael Barrera Oro boraf...@gmail.comwrote:

 I was thinking of a way to structure my projects, mostly how to distribute
 the file, when it thought of consulting you about the matter.

 This is how i structured my project

 ar.com.company.public (html, css, etc)
 ar.com.comapny.public.images (this i created specially for images)
 ar.com.company.client  (Java clases)

 i creatad the following packages for services:

 ar.com.company.server.services
 ar.com.company.client.services

 I am facing now the need of creating packages to hold the Java classes
 related to widgets of my own creation, so i wanted to consult you first on
 which are the best practices to structure a GWT project as it begins to grow

 ¡Thanks in advance!


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



Re: Best image preloading practice?

2009-02-05 Thread Martin Gorostegui
Hi darkflame,

I think the best way of (pre)loading images depends on the kind of app you
have. I visited the url you shared with us and run a
Fiddler2http://www.fiddler2.com/session through it to discover that
around 100 requests are fired to get
icons, textures, buttons, gradient bars, etc which could be loaded all in
one request using an ImageBundle and doing that will surely improve the
loading time of the app. Then you have like another 100 requests that fetch
a combination of thumbnails and bigger images with good quality (ranging
from 10kb to 1 meg aprox). For what I saw many of these images are displayed
only when the user clicks on the inventory bag (thumbnails) and then when a
thumbnail is selected the bigger image is displayed so I think you could
also use Image.prefetch to, for example, get all the thumbnails when the
initial screen is loadad (so that when a user clicks on the bag they appear
quickly) and also prefetch the bigger images when the user clicks on the bag
so that when a thumbnail is clicked the big image appears quickly also... or
maybe you could just load a big image when it is needed! I think these are
the kind of decission you can only make by having the app running and using
tools like Fiddler2 or Firebug to see loading times, number of requests, use
of browser cache, etc.

I hope this helps,

Martin

On Thu, Feb 5, 2009 at 5:24 PM, gregor greg.power...@googlemail.com wrote:



 
  Ah, this sounds quite usefull to hide the loading, allthough I'll have
  to read up.
  I assume this is how, say, GoogleMaps does it?

 I think it's quite common where you want to have control over how
 images are handled yourself - as I say there are plenty of examples
 around of how to do the serlvet.
 
  You are thinking of loading 20MB of images into the DHTML DOM of you
  application
 
  Am I? Does the DOM keep them there even when not displayed?
  These images certainly wouldnt be displayed all at once. 1 or 2 at a
  time at most.

 I'm not absolutely sure, but I think if you load an image it is
 basically attached to a document, whether the browser caches it or
 not, and whether it is currently visible of not. You don't control the
 browser cache, I mean I don't think you can tell it to conveniently
 download all your images and store them neatly on disk until you need
 to display them for example. It's also more than likely each browser
 does things differently.
 

  But the vaste majority of players should happily be able to load
  20-30MB onto their hard disk for the course of the game.

 That's my point: I don't think it works like that, I can see why it
 would be nice for you if it did. The browser probably does store
 images locally in some circumstances, but I believe this would be for
 virtual backing for the document it's loaded/displaying if required
 for memory management purposes. I.e. you've got a document of 20MB
 loaded which it must manipulate. I may be wrong, you'd need to
 investigate to be sure.

 
  They
  are deliberately designed to make downloading huge chunks of binary
  data difficult, especially transparently, and they are not expecting
  to have to display 20MB worth of images at once. 
 
  Again, not at once.
  Surely a staggered download they wouldnt have a problem with?
  Emulating, say, what it would expect from a user browseing DeviantArt?
 

 yeah, the staggered download is basically the idea of the maze - each
 time you move to next location you've only got one locations worth of
 images to fetch. Or if it worked fast enough you could fetch all the
 required images for the adjoining locations so they would be ready to
 go instantly. It depends entirely on no of image bytes per location.

 Point is doing it this way old images are thrown away and can be
 garbage collected as you go, so you are not accumulating images in
 memory. It's stable. (assuming I'm right about the how this works of
 course).

  If you leave it to the browser, it makes one Http call per image and
  you cannot guarantee the order they will be fetched. I
 
  Yes, I noticed this already. Its interesting, as I expected it to be
  in a first-come-first-served base's, but I guess theres some
  optimisation within a timeframe.
  I do wonder though what the limit of this is and if its the same per
  browser. (I mean, if I loaded no more then 1 image every 10 seconds,
  it would probably do it in the order I asked, but not if I asked for
  one to be prefetched every 10ms)
  This is more a curiousity though.
 
  . The point of
  the composite image strip is to fetch several images in one request
  since they come in a single binary file. 
 
  Yes, I understand the point of them, and I think image bundles are a
  great idea.
  (In fact, online in general, theres probably a lot of wasted bandwidth
  used on little UI elements on webpages..like 5kb gifs etc)
  In this specific case though they arnt approperate.
  Not unless I got the server to dynamically splice the images together
  and the 

Re: GWT with non-Java backend

2008-11-30 Thread Martin Gorostegui
Yes,

I´m working with GWT with a PHP backend and I know many people in this list
also do that. It is an excellent approach if you can't have a Java backend
but want to have all the benefits of GWT (except for the optimised GWT Java
RPC).
Basically what you should do is instead of using GWT Java RPC (extending
RemoteService, RemoteServiceServlet and creating an AsyncInterface) is use
the RequestBuilder class to make http calls. What you send and receive can
be anything you want but JSON is what is most used. For dealing with JSON
client-side you can use GWT own JSON classes and Javascript Overlay Types if
you are with GWT 1.5, and for dealing with JSON serverside you can use any
PHP, Ruby, etc library to encode\decode JSON.

I recommend you search this list archives as there are tons of messages
about what I'm telling you (even people who is using JSONP instead, or
json.org JSONRequest or the ones who have created their own way of dealing
with JSON client-side). Also this section of the official documentation
should be useful for you:
http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5s=google-web-toolkit-doc-1-5t=DevGuideServerCalls

Hope this helps,

Martin

On Sun, Nov 30, 2008 at 9:31 PM, Joshua Partogi [EMAIL PROTECTED]wrote:


 Dear all,

 Has anyone worked GWT with non-Java backend (like PHP or Rails) and
 send it with AJAX Http request? Does it work good? I am wondering
 whether this is a good approach. I would appreciate any experience
 shared here.

 Thank you in advance

 --
 Not by might nor by power, but by His Spirit.

 Read my blog: http://joshuajava.wordpress.com/
 Follow me on twitter: http://twitter.com/jpartogi

 


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---