Ever since the first release of RadControls for WinForms, we have tried to deliver WPF-like visual effects outside of the WPF platform. This has allowed our customers to deliver dazzling effects leveraging their knowledge of the stable WinForms paradigm. On the other hand the end users are stunned by the richness of the UI interface and the slim behavior that is traditionally reserved for the high-end multimedia systems.

Although quite attractive, this eye-candy has always caused a slight increase in component loading time. We have always tried to avoid this tradeoff of performance versus visuals. In our latest release, we have implemented a new approach to applying themes that serves to close the performance gap somewhat.

All the themes used to be automatically loaded for the components you have on a form. When you placed a control on the page, you would change its Theme property to the value of the theme you’d like to use. At that point, all the themes are already loaded, resulting in a less-than-optimal memory footprint.

We have implemented a new approach that only loads the themes you are using in a form. You will notice that two new themes, Aqua and Desert appear as components in the toolbox, as shown in the diagram below.

You have to drag them from the toolbox to the form are for them to become available in the list of themes for a control. The screenshot below shows that once the AquaTheme was dragged onto the form (it appears in the panel at the bottom), it becomes available in the list of themes for the button.

When all themes are re-engineered in this  particular manner (which is about to happen for the Q2 2008 release) developers will have the option to load only the themes required by the application. This approach to styling allows you to have a greater variety of appearance schemes you can use without having a negative impact on the performance of your application. Take that, visuals versus load time tradeoff.


About the Author

Nikolay Diyanov

Diyanov is the Product Manager of the Native Mobile UI division at Progress. Delivering outstanding solutions that make developers' lives easier is his passion and the biggest reward in his work. In his spare time, Nikolay enjoys travelling around the world, hiking, sun-bathing and kite-surfing.

Find him on Twitter @n_diyanov or on LinkedIn.

Comments

Comments are disabled in preview mode.