<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>Glad we could track this down. I've simply turned off the legend
for the near future. I didn't really want the ability to turn layers
off or on anyway :) Its time to get my hands dirty and start using the
server API anyway. <br>
<br>
I actually was able to save the returned EMapTransaction out of Fiddler
and view it as a ZIP file. It is pretty interesting to look inside and
see the different pieces, especially the relative sizes&nbsp; of feature
data versus tooltip attributes along with resulting compression rates.
I think this will end up being quite useful for map tuning and
debugging in the future. <br>
I will send details on our map setup to you in a private email shortly.
Thanks for your help<br>
</tt><br>
Joel<br>
<br>
Walt Welton-Lair wrote:
<blockquote
 cite="midA4F4647B12DBAD40B07041547CA2526408362218@msgusaebk01.autodesk.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta content="MSHTML 6.00.2900.3020" name="GENERATOR">
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">Ok, now things are making
sense.&nbsp; </font></span><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">You have a lot of themed layers,
and it's taking a few seconds to refresh the legend.&nbsp; This is a full
refresh of&nbsp;the legend, and it's&nbsp;done after applying the EMapTransaction
if the map scale or map center has changed, which is the case when you
pan / zoom.</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">Although the data for the legend
is only downloaded once at the beginning, the refreshing happens after
each update.&nbsp;&nbsp; So there's no weirdness going on.</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">I don't think there's any need
to use Fiddler to look at the EMapTransaction.&nbsp; Based on what we now
know I'm sure the EMapTransaction is small and is processed quickly
(e.g. the case when you're zoomed in far).</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">To fix this it looks like DWF
Viewer needs some optimization around updating the legend.&nbsp; E.g. only
refresh it when the map scale crosses a scale threshhold that causes
one or more layers&nbsp;to change its visibility.&nbsp; Until that happens, the
only way to improve performance right now is to reduce the amount of
information in your&nbsp;legend.&nbsp; Maybe you don't need to display themes for
some of your layers?</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">I've&nbsp;entered&nbsp;a defect against
DWF Viewer regarding this.&nbsp; In order to help us reproduce this problem,
can you tell me approximately:</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">- how many of your layers
are&nbsp;actually themed, and how many unthemed?</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">- how many themes per layer do
you have, on average</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">- how many layer groups are you
using?</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">I'll then include this
information in the defect.</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">Thanks,</font></span></div>
  <div dir="ltr" align="left"><span class="810231109-13022007"><font
 color="#0000ff" face="Arial" size="2">Walt</font></span></div>
  <br>
  <div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
  <hr tabindex="-1"><font face="Tahoma" size="2"><b>From:</b>
<a class="moz-txt-link-abbreviated" href="mailto:mapguide-users-bounces@lists.osgeo.org">mapguide-users-bounces@lists.osgeo.org</a>
[<a class="moz-txt-link-freetext" href="mailto:mapguide-users-bounces@lists.osgeo.org">mailto:mapguide-users-bounces@lists.osgeo.org</a>] <b>On Behalf Of </b>Joel
Carranza<br>
  <b>Sent:</b> Monday, February 12, 2007 11:10 PM<br>
  <b>To:</b> MapGuide Users Mail List<br>
  <b>Subject:</b> Re: [mapguide-users] DWF Viewer progress bar?<br>
  </font><br>
  </div>
  <tt>Walt, <br>
  <br>
1) I don't follow this question<br>
2) No attribute data is available. <br>
3) 67-50 map layers, all themed with varying levels of complexity (Most
complex layer has 25 themes). Some are organized into groups, others
are not. <br>
4) No custom processing, this is just our map "out of the box"<br>
  <br>
I am pretty confident that the problem here is the legend. If I turn
off all layers in the legend and pan, it still takes 4 to 5 seconds
(the progress bar hangs at around 50%) for the update to complete. I
turned off legend visibility for each layer in my map, and now the map
performance is significantly better (progress bar always just zips
right through). Note that if i only turn off the Legend via the Layout,
I still have bad performance. <br>
  <br>
Very weird, especially given that as you say, the legend is downloaded
at the beginning. <br>
  <br>
I am going to try and use Fiddler to look at the DWF. I had no idea
that would/might work. Will let you know how that goes. <br>
  <br>
Joel<br>
  <br>
  </tt>Walt Welton-Lair wrote:
  <blockquote
 cite="midA4F4647B12DBAD40B07041547CA25264072989@msgusaebk01.autodesk.com"
 type="cite">
    <pre wrap="">Joel,
 
This newsgroup is the right place to ask questions about DWF Viewer behavior in the context of MapGuide.
 
Regarding your DWF problem, it looks like about half the time is the server generating the update, the other half is downloading / processing of the update.  Some other questions I have:
 
- If you mouse down and pan or zoom, is the redraw performance ok?  If it's slow then that can contribute to the processing time for the update.  When graphic resources are processed the viewer does periodic redraws of the scene graph.
 
- Have you made any feature attributes available on your layers (so that selecting a feature will display the attributes in the property window)?  Attributes are separate resources in the EMapTransaction DWF.  While they're being processed the progress bar will not move, nor will you see any graphics updates.  You should only notice a pause though if you have a large number of features with attributes.  These also compress very well in the EMapTransaction.  So the progress bar will update only briefly, but then there's a lot of processing that might need to happen once it's uncompressed.
 
- How many layers are in your map?  Each visible layer that needs to be updated will add to the number of DWF resources in the update (one for primary graphics + tooltips / hyperlinks, another for any lables, and another for attributes).  Unless you have hundreds of layers I don't think this should be a problem.  In fact if all the resources are small then the progress bar should move relatively smoothly since each resource won't take long to process.
 
- Are you doing any custom server-side processing, like dynamically adding/removing/refreshing layers?  That will add to the information in the update.
 
- How many of your layers are point layers with labels?  Those add a fair amount of data in the labeling resource.
 
 
Other notes:
 
- Information in the legend is downloaded at the beginning, so that's not the problem.  The only other time legend info is downloaded is if you add a new layer.
 
- An easy way to test processing time per layer is to simply toggle each one off and then back on in the legend.  Only the resources for that one layer will be upated.  Maybe one of the layers will stand out...
 
- For the DWF Viewer API docs try first doing a quick search of the MapGuide newsgroups on Nabble - there's a number of threads where I've posted these.
 
- Another interesting thing to try is to capture one of te EMapTransaction updates in the server response.  I think Fiddler (<a
 class="moz-txt-link-freetext" href="http://www.fiddlertool.com">http://www.fiddlertool.com</a>) might let you do this.  You can then open the DWF using a zip utility and see the individual resources.
 
Walt
 
-----Original Message----- 
From: <a class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users-bounces@lists.osgeo.org">mapguide-users-bounces@lists.osgeo.org</a> on behalf of Joel Carranza 
Sent: Mon 2/12/2007 8:44 PM 
To: MapGuide Users Mail List 
Cc: 
Subject: Re: [mapguide-users] DWF Viewer progress bar?



        Thank you for this information Walt, this is helpful. The problem that 
        we are seeing is that a typical map update may take anywhere between 
        approx 7-12 seconds.  Half of that time is spent w/ the hourglass 
        showing, and half of that time is being taken up with the progress bar 
        displaying (sometimes no progress shown, sometimes halfway through). 
        I've zoomed way in before, and had the map progress bar display almost 
        immediately, but I still have to wait maybe 4 or 5 seconds before the 
        update is complete. The number of map features we are talking about here 
        is less than 10. 

        So what could be soaking up so much CPU/Bandwidth? This isn't exactly a 
        lightweight machine (3.4 GHZ, 1GB of RAM, the server is on another 
        machine but within our local network). Could it be: 

        - stylization? all out objects are themed with various line style and 
        weights 
        - tooltips? Most of our map features have multi-line tooltips. 
        - the legend? All our layers are being displayed in the legend. When 
        does this information come down? 

        I'm taking stabs in the dark here. Any hints might be useful. 

        Is it possible to hook into the DWF Viewer API to look at processing 
        times on a per layer basic? 

        I can't seem to find the DWF Viewer API docs? Are these available on the 
        web? 

        Final question, i promise.... 

        Is this even the correct place to ask this question? I find myself 
        confused in regard to where I should post any given question, 
        considering the overlap between almost all the groups. 

        --Joel 

        Walt Welton-Lair wrote: 
        &gt; The progress bar measures the total download progress for the map 
        &gt; update.  Here's what happens in detail: 
        &gt; 
        &gt; 1/ the DWF Viewer requests a map update from the server 
        &gt;    =&gt; hourglass cursor is shown, but no progress bar yet 
        &gt; 
        &gt; 2/ the response from the server (an EMapTransaction DWF) begins 
        &gt; streaming in 
        &gt;    =&gt; the progress bar is turned on and starts updating 
        &gt; 
        &gt; 3/ the EMapTransaction is a compressed file containing a sequence of 
        &gt; resources: 
        &gt;    a descriptor, graphic resources (W2Ds), and object definition data 
        &gt; (attributes) 
        &gt;    =&gt; while a resource is being downloaded the progress bar updates 
        &gt;    =&gt; once a resource is fully downloaded it's immediately processed 
        &gt;       * the progress bar does not update during processing 
        &gt;       * depending on the size of the resource it may take some time 
        &gt;         to process it, e.g. a layer with dense graphical data 
        &gt;    =&gt; after the resource processing completes the next resource in the 
        &gt; server 
        &gt;       response is read 
        &gt;       * the progress bar updates some more 
        &gt; 
        &gt; As far as the dual progress indicators, those are used in the context of 
        &gt; multi-page EPlot and EModel DWFs.  One of the bars indicates the 
        &gt; progress for loading the current page, while the other indicates 
        &gt; progress for loading the entire DWF.  EMaps don't have multiple pages, 
        &gt; and so the two indicators always have the same position. 
        &gt; 
        &gt; Walt 
        &gt; 
        &gt; -----Original Message----- 
        &gt; From: <a class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users-bounces@lists.osgeo.org">mapguide-users-bounces@lists.osgeo.org</a> 
        &gt; [<a class="moz-txt-link-freetext"
 href="mailto:mapguide-users-bounces@lists.osgeo.org">mailto:mapguide-users-bounces@lists.osgeo.org</a>] On Behalf Of Joel 
        &gt; Carranza 
        &gt; Sent: Tuesday, February 06, 2007 10:05 PM 
        &gt; To: MapGuide Users Mail List 
        &gt; Subject: [mapguide-users] DWF Viewer progress bar? 
        &gt; 
        &gt; Perhaps this is a silly question, but here is goes: 
        &gt; 
        &gt; Does anybody know exactly how the progress bar in the DWF operates? On 
        &gt; each map request, there seems to be three stages... 
        &gt; 
        &gt; 1) No progress bar (no significant CPU activity) 
        &gt; 2) Progress bar appears with very tiny amount of progress (CPU starts 
        &gt; working) 
        &gt; 3) Progress bar updating and map updating (CPU is working) 
        &gt; 
        &gt; There are actually two different progress bars (one on top of each 
        &gt; other) which are working in tandem with each other. Does anyone know 
        &gt; precisely how to interpret them? The Below URL explains for a 
        &gt; multi-sheet DWF. 
        &gt; 
        &gt; <a class="moz-txt-link-freetext"
 href="http://dwf.blogs.com/beyond_the_paper/2006/09/dwf_progress_ba.html">http://dwf.blogs.com/beyond_the_paper/2006/09/dwf_progress_ba.html</a> 
        &gt; 
        &gt; How does one interpret them in the context of a DWF map? Specifically, 
        &gt; we are wondering about the pause at stage #2. Is that when the client 
        &gt; has started recieving data, recieved all data? Is the pause at stage #2 
        &gt; utterly insignificant? Anybody know? 
        &gt; 
        &gt; --joel 
        &gt; 
        &gt; 
        &gt; _______________________________________________ 
        &gt; mapguide-users mailing list 
        &gt; <a class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</a> 
        &gt; <a class="moz-txt-link-freetext"
 href="http://lists.osgeo.org/mailman/listinfo/mapguide-users">http://lists.osgeo.org/mailman/listinfo/mapguide-users</a> 
        &gt; 
        &gt; _______________________________________________ 
        &gt; mapguide-users mailing list 
        &gt; <a class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</a> 
        &gt; <a class="moz-txt-link-freetext"
 href="http://lists.osgeo.org/mailman/listinfo/mapguide-users">http://lists.osgeo.org/mailman/listinfo/mapguide-users</a> 
        &gt; 
        &gt; 
        &gt; 
        &gt; 
        &gt;   

        _______________________________________________ 
        mapguide-users mailing list 
        <a class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</a> 
        <a class="moz-txt-link-freetext"
 href="http://lists.osgeo.org/mailman/listinfo/mapguide-users">http://lists.osgeo.org/mailman/listinfo/mapguide-users</a> 

  </pre>
    <pre wrap=""><hr size="4" width="90%">
_______________________________________________
mapguide-users mailing list
<a class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</a>
<a class="moz-txt-link-freetext"
 href="http://lists.osgeo.org/mailman/listinfo/mapguide-users">http://lists.osgeo.org/mailman/listinfo/mapguide-users</a>
  </pre>
  </blockquote>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
mapguide-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/mapguide-users">http://lists.osgeo.org/mailman/listinfo/mapguide-users</a>
  </pre>
</blockquote>
</body>
</html>