Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » Looking for more UI speed Collapse All
Subject Author Date
Michael Bailey Nov 28, 2006 - 12:15 AM

Hi,

Prof-UI has been a great addition to our application, thanks for a great product. But I’m trying to fix some performance issues in our large application that is now using Prof-UI. I’ve narrowed some performance problems to large number of controls in control bar dialogs. We have several modeless dialogs that have a large number of controls in them (100+). I’ve noticed a couple of things:

1. Submenus (CExtMenuControlBar) can be very slow when large submenus open/close over complex dialogs. This seems to be because a closing submenu triggers an OnPaint for all the controls under the submenu. I "think" Windows default menus save the contents under a submenu and restore it when the submenu closes so there is no OnPaint to all the controls that were covered. Is this an option for the Prof UI submenus? Are there any other speed enhancements for menus I might be missing?

2. Control bars (CExtDynamicControlBar) when docked in a tabbed manner are slow to redraw when switching tabs to dialogs with a lot of controls. You can actually see the controls paint in these cases. Any ideas? Painting controls on a backbuffer?

These speed issues are new to our application since adding Prof-UI so I don’t think they are problems with the application, but they might be to the way we are using Prof-UI. Any thoughts here would be appreciated.

Regards,
Mike

Technical Support Nov 28, 2006 - 11:50 AM

The large number of HWND handles can slow down the UI. The popup menu in Prof-UIS registers the window class with the CS_SAVEBITS class style which makes it really faster but this class does not guarantee the window background will always be saved. The 100 window handles inside one window can hardly be regarded as a good design. So we would recommend you switch to using non-HWND UI items such as rows in the property grid, tree grid, plain grid and toolbar buttons.