Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Long delay when shutting down application with a lot of components selected

If I have a lot of components (around 500) selected in the designer and I close the application,  it takes around 10 minutes before the application closes. Looking at task manager (difficult because windows becomes very unresponsive) I can see that DWM has shot up to around 25% usage - ie one complete core).  Any ideas on how to stop this happening?  

Regards
Keith 

Comments

  • 10 Comments sorted by Votes Date Added
  • Hi,

    I think you choose a wrong way in your application. Specifically, LMD-DesignPack is not intended to be used with so many controls on the form. We will not spend more time to optimize such things, and will not complicate our code.

    However, if you want, you can do it yourself: I suggest you to use AQTime to profile your application performance and change design pack source code, where you need.
  • edited March 2013 Posts: 46Vote Up0Vote Down
    Are you saying that the software cannot be made to work in this way, or is it a question of economics? If the latter, we’d be willing to consider a contract to modify the software to meet our requirements to give us the editing speed we need when processing large quantities of components.  After the time we have spent on this,  we don't really want to have to start all over again.  

    I think the flaw might be in the use of windowed controls to do the grab handles - the overhead of the window manager in processing large numbers of window handles seems to be killing performance,  but I'm not 100% sure if that's the reason.

  • Hi Keith,

    We're in a similar position, seeing horribly slow performance with things like drag when more than around 50 objects are selected. Stuff that should be instant takes a large handful of seconds. 

    However, we have no problem closing the app when a large no. of objects are selected, so it may be something about the way you're using it. 

    I noticed a while back that we had performance issues when trying to 'close' a complex designed form and open another. This was fixed with the following cryptic code in our 'new form' handler. C++, I'm afraid

      if (designPanel != NULL)
      {
        designPanel->Width = 0;    // << These lines give a significant speedup when ...
        LMDDesigner1->Active = false; // <<<...closing a large complex panel!
        delete designPanel;
      }

    `designPanel` is not the LMDDesignPanel, but the TPanel descendant we use as the 'Root" for the LMDModule

    Hope that's some use... 
  • edited March 2013 Posts: 0Vote Up0Vote Down
    Actually, having just got the latest SVN fix to LmdDsgDesigner, dragging multiple components is much improved... but now a bug with SelectAll that no handles are shown until you drag, though. Do you see that?
  • Hi,

    We don't have access to SVN,  as we're only using the design components (we don't really have a use for any of the others),  but it's good to hear that the latest SVN fix does speed things up.

    BTW, we're using the LMDDesignPanel - was there a performance reason to switching to using your own descendant?

    Regards
    Keith.
  • I can't recall the exact details, but we've been using these components for several years now:

    Our designer application has a standard TLMDDesignPanel on it, but the "designpanel" I mentioned is a TPanel descendant (not TLMDDesignPanel descendant) that acts as the base visual object for all other controls that are placed. I don't think there were performance reasons for that.
  • Hi,

    SelectAll issue has been fixed. Soon there will be the next minor release...
  • Thanks. Selectall fix confirmed. Overall, for me things seem much better, It's still a little sluggish with over 800 selected components (just for a test!), but the performance stays linear and is certainly acceptable.
  • Just wanted to confirm that the svn update fixes this problem. - Thanks.  It's also much faster than it was.

    Regards
    Keith


Sign In or Register to comment.