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 Tech Support » Performance problems on moving from 2.8.0 to 2.8.3 Collapse All
Subject Author Date
Gevork Odabashyan Dec 9, 2008 - 1:26 AM

Dear Support,

Our company has been using your product Prof-UIS library for three years without any serious problems. But when we moved from the version 2.8.0 to 2.8.3 we realized that the performance of our product has decreased dramatically. The load on the processor in some conditions has increased up to 1000%, and it takes a long time to receive user interface (UI) response to the user’s actions.

Having analyzed the library code, we discovered that in the version  2.8.3  the implementation of the classes that we use (CExtComboBox, CExtTabPageContainerWnd)  has been modified. Using the inheritance and overloading of the virtual methods _CreateHelper() we exclude the subscription to the notification messages HookSpyRegister(). In that way we managed to improve the performance of our product. But unfortunately we couldn’t reach the level of efficiency of the product made on the base of the library version 2.8.0. Probably, we couldn’t do so for the following reasons:

In particular, the widely used class CExtDynamicBarSite includes CExtTabPageContainerWnd class and doesn’t have constructor which allows to create an object of this class (CExtTabPageContainerWnd) with disabled notification messages (excluded HookSpyRegister() subscription). Besides, we didn’t do detailed research regarding the implementation of the classes CExtToolControlBar and CExtMenuControlBar but it’s possible that these classes have been modified too, and such changes in the process of repainting of objects by timer (and others) might have affected the performance as well.

Please could you give us some advice on how to achieve an acceptable level of performance (as in the version 2.8.0)?

Thank you in advance for your assistance.

Technical Support Dec 11, 2008 - 10:37 AM

We solved many performance issues in Prof-UIS 2.84. The CExtHookSpy interface was re-coded and now installs only requested hook callbacks. I.e. if some class requires keyboard hooking, then only keyboard callback function is installed. This maximally reduces time which process spends for hook functions invocation. The timer based animations are used by ribbon controls, scroll bars, buttons, check boxes, radio buttons and some other simple controls. These animations are also available in toolbars. But by default toolbars does not use any animations for their buttons. We think current performance of Prof-UIS 2.84 is same as 2.80. We can provide you with pre-release 2.84 download.

Gevork Odabashyan Dec 12, 2008 - 12:28 AM

Thanks for detailed answer.
We will looking forward for 2.84 release.