This is a migrated thread and some comments may be shown as answers.

BusyIndicator CPU usage

17 Answers 270 Views
BusyIndicator
This is a migrated thread and some comments may be shown as answers.
Daní
Top achievements
Rank 1
Daní asked on 06 Apr 2011, 05:46 PM
Hello,

I've detected an strange issue/bug that i'm quite sure it's related to BusyIndicator. My applications uses several BusyIndicators to notify user whenever a remote acces is done. After all data is loaded, with no action performed by the user I can see in task manager that iexplorer process hosting the silverlight application consumes a bit of cpu. Application is doing nothing!!! I've run a perfomance profiler that tells me that application is doing nothing and is consuming 0% of cpu, however I can see in task manager that application is consuming 1-2% of cpu (my PC is a quad core i7 processor, on older PCs, cpu consumption may arrive at 10-15%). Removing all BusyIndicators, no cpu usage is shown in task manager when nothing is done.

You can see this same behavior in your silverlight demo application. Just navigate to BusyIndicator/FirsLook example. Initially this example show an empty scheduler, in this situation, the application's cpu usage is 0%. Then, click to "Load Appointments" button, a, normal, cpu usage peak is shown in task manager when appointments are retrieved, but after an interval you will observe that application is consuming permanently cpu (1%) in my case.

17 Answers, 1 is accepted

Sort by
0
Daní
Top achievements
Rank 1
answered on 08 Apr 2011, 12:16 PM
Hello,

I need to confirm there's a bug in BusyIndicator and if it exists an easy solution or workaround to decide continuing using BusyIndicator!!!!

Thanks.
0
Daní
Top achievements
Rank 1
answered on 12 Apr 2011, 10:18 AM
Hello,

I need a response to decide what to do with BusyIndicator!!!
0
Teodor
Telerik team
answered on 12 Apr 2011, 01:09 PM
Hello Daní,

Thank you for your feedback and please accept our apologies on the delay of our response.

Currently, we are investigating the issue with the busy indicator. Indeed, there is some CPU load on the demo application while being idle. This, however, does not automatically mean that the RadBusyIndicator is causing the load because the demo application is a complex one and contains other parts that may introduce delays.

What is interesting, we did not manage to reproduce the same in a simple project scenario (please see it attached). While visible the RadBusyIndicator inside generates about 1% of CPU usage (Core2Quad), however, when IsBusy is false - the CPU reduces to 0 again. 

Having said that can you please try to reproduce the cpu usage issue in the attached project and let us know about the result? Alternatively, you may open a new support ticket and attach your project there so that we can investigate it and come up with some workaround.

Hope this explains the matter. We will be glad to assist you further.

All the best,
Teodor
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Daní
Top achievements
Rank 1
answered on 12 Apr 2011, 04:27 PM
Hi Teodor,

Thanks for your interest.

I've tried your demo application and could'n reproduce the issue. As you explain, it seems is working fine in this scenario. However, as I commented in the first post, I ran a perfomance profiling test (with read gate tool) and while process was consuming cpu, test didn't register any noticeable silverlight code activity (less than 0,1 ms during more tahn 30 seconds). Also, removing RadBusyIndicators from my views seems to solve the problem. In addition, I've tried to remove the BusyIndicator in telerik's demo solution for the BusyIndicator/FirstLook example, and again this solved the problem.

Maybe the issue is related to the container where BusyIndicator is in.

I'm near to my release date, and I need a solution for this issue, please pay attention at this issue so I can decide to keep using BusyIndicator or look for an alternative solution.
0
Accepted
Teodor
Telerik team
answered on 12 Apr 2011, 04:52 PM
Hello Daní,

We have identified the source of the issue - it is the animation of the progress bar inside RadBusyIndicator's template - despite its Visibility becomes Collapsed when IsBusy is false, the Storyboard of the circle goes on forever and this causes a little CPU usage.

This is already on our tasks list and will be fixed with some of our future releases, but until then you can use the following workaround:

<telerik:RadBusyIndicator IsIndeterminate="{Binding IsBusy, RelativeSource={RelativeSource Self}}" />

What the above does is set the IsIndeterminate property of the ProgressBar inside RadBusyIndicator to false (whenever not busy), so that its visual state changes and the animation stops. This should eliminate the issue with CPU usage when idle.

Hope this helps. Let us know in case you need further assistance.


Best wishes,
Teodor
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Daní
Top achievements
Rank 1
answered on 12 Apr 2011, 05:12 PM
Hi Teodor,

Thanks for your help!!!! Is working fine with your solution. I thought the issue was related to a DropShadowEffect in BusyIndicator, but watching its template I suspected the IsIndeterminate could be the matter, but like you, I created a simple scenario and I couldn't reproduce the issue! What I do not understand is why in a simple scenario this issue does not appear.

Thanks again!!
0
Teodor
Telerik team
answered on 13 Apr 2011, 10:10 AM
Hello Daní,

We are glad the workaround is acceptable to the moment.

The truth with the simple example scenario, actually, is that the CPU still does some work. However the consumption is less than 1% CPU time and thus the Windows Task Manager does not report it as activity. Looking at it through a profiling application is the only way to notice that there is some load on the CPU. Still, the workaround fixes the matter for the moment.

Hope this explains the matter. We will be glad to assist you further.

Greetings,
Teodor
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Jaime Bula
Top achievements
Rank 2
answered on 24 Oct 2011, 05:49 PM
Hi,

The suggested fix actually works, but I'm using controls 2011.2.920.1040, and the issue is still there and it was crippling our application. Is there a time frame for this to get fixed?

Best Regards,

Jaime Luis Bula P.
0
Dani
Telerik team
answered on 26 Oct 2011, 10:33 AM
Hello Jaime,

I am sorry to hear you experienced difficulties with your application due to this issue. The issue will be fixed for the Q3 2011 release.

Greetings,
Dani
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
0
Ziev
Top achievements
Rank 1
answered on 06 Feb 2012, 10:35 AM
Hi there,

I've just upgraded to the Q3 2011 version (using the wizard) but the problem does not seem to be solved. The CPU still works more and more as I load more busy indicators even though they are all set to IsBusy=false after the operation is done.

Please ensure that the fix was applied correctly.
Thanks,
Ziev
0
Daní
Top achievements
Rank 1
answered on 06 Feb 2012, 05:42 PM
Hi Jaime,

I solved the issue setting a default style. If you have upgraded to SLV5, you can try to add the following xaml at your App.xaml file to set a default style for the RadBusyIndicator. It worked fine for me:

<Style TargetType="telerik:RadBusyIndicator">
        <Setter Value="{Binding Path=IsBusy, RelativeSource={RelativeSource Self}}" Property="IsIndeterminate"/>
 </Style>

I you still are on Silverlight 4, you can't use Binding on style setter's. I have an implementation for style databinding that allows setting bindings on style setters in Slv3, Slv4. I can share the code with you if you are interested on.
0
Ken
Top achievements
Rank 1
answered on 13 Feb 2012, 06:06 PM
FYI: this also causes a memory leak at least of the view, and if the IsBusy property is bound to the viewmodel then also of the viewmodel. Reproducible in version 2011.3.1220.1040.

Fortunately the fix with IsIndeterminate works and fixes also the memory leak. I don't know if it's already included in later releases, but if not, it definitely should be.
0
Michele
Top achievements
Rank 2
answered on 26 Mar 2012, 08:22 AM
Hello,
just to inform you I had to specify this on Q1 2012 for WPF... I had a 5% on an I7... setting the indeterminate everything is ok...
0
Marcel
Top achievements
Rank 1
Iron
answered on 05 Dec 2013, 07:55 AM
I'm developing a WPF application where I make heavy use of the Telerik RadProgressBar (RadControls for WPF Q3 2013, 2013.3.1016.40) in indeterminate mode (the win 8 theme looks really cool, by the way). I'm developing on a machine with an i7 (but only 4 cores) and from the point that there are more than 8-10  instances of the RadProgressBar with "IsIndeterminate=True", one of the 4 cores is completely in use by the application even if all RadProgressBars are collapsed and the application is completely idle (but displayed). The issue seems to be fixed for the Busy Indicator but obviously not for the RadProgressBar...

Marcel
0
Tina Stancheva
Telerik team
answered on 10 Dec 2013, 10:02 AM
Hi Dani,

Unfortunately this is a known issue and is such it is logged in our feedback portal where you can check its status. Please accept our apology for the inconvenience.

Regards,
Tina Stancheva
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Michele
Top achievements
Rank 2
answered on 17 Jun 2014, 07:40 PM
Ex use me I know it's an old post...has this been fixed or I've still to set the self reference?
thx
0
Martin Ivanov
Telerik team
answered on 19 Jun 2014, 07:25 AM
Hi Paolo,

Currently this issue is not fixed, but you you can track its status by following the bug report item in our feedback portal. By doing this you will be notified when we change its status.

As a workaround you can set the IsIndetermineted property of the RadProgressBar to false when it is collapsed.

Regards,
Martin
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
Tags
BusyIndicator
Asked by
Daní
Top achievements
Rank 1
Answers by
Daní
Top achievements
Rank 1
Teodor
Telerik team
Jaime Bula
Top achievements
Rank 2
Dani
Telerik team
Ziev
Top achievements
Rank 1
Ken
Top achievements
Rank 1
Michele
Top achievements
Rank 2
Marcel
Top achievements
Rank 1
Iron
Tina Stancheva
Telerik team
Martin Ivanov
Telerik team
Share this question
or