Question

DampeningMinimumDuration and MaxDuration question

Posted 4 years ago by Avatar David Bagby - Calypso Ventures, Inc.

Hi,

I'm looking for a more comprehsnsive explaination of DampeningMinimumDuration and DampeningMaximumDuration for gauges.

I'm a tad confused as these appear to be the duration for the needle animation when moving between values. What I don;t understand is why there is a min and a max.

It seems that one would just set the Duration that is wanted for the animation - which would be a singel value. So what do the min and max duration bound?

I feel I've missd something here but don't know what... ?

Dave


Comments (5)

Posted 4 years ago by Actipro Software Support - Cleveland, OH, USA

Hi David,

If you check out the "Actipro Gauge / CircularGauge Features / Pointers" topic in the documentation, there is a "Dampening" section that explains what the two properties are for.  Please take a look at that and it should help.


Actipro Software Support
Posted 4 years ago by David Bagby - Calypso Ventures, Inc.

Thanks, for the pointer to the info - I looked but has missed that.

Now I have some more questions -

 

1) Can you tell me if the following is correct?

I have gauges with the pointer value data bound to a property. When the value is changed, a NotifyPropertyChanged event is fired and the pointer updates. So far so good... what is puzzling is that the time required for this mechanism to update the pointer seems to be dependent on the Duration values. It appears to act as if this is is the sequence:

a) Update value

b) animation takes Duration dependent time to draw the pointer

c) Update event handling completes.

The longer the Duration settings, the longer each value update takes. I was assuming (I know, I should not have assumed) that the update would "return" and the redrawing would be done async to the data binding update. Is the Duration time really "inline"with the value update?

2) If the min and MAX durations are set to "0:0:0", does this "disable" the call to the WPF animation for the pointers?

Dave

Posted 4 years ago by Actipro Software Support - Cleveland, OH, USA

I don't believe the properties should affect the return time of the calling thread.  When the value changes, a storyboard animation is created to move the pointer.  The animation length changes based on the dampening properties and how far the pointer has to rotate.  I would think that setting the durations to zero would make the animations jump instantly.  We begin the animation after we create it but that should return instantly and allow calling code to continue on.


Actipro Software Support
Posted 4 years ago by David Bagby - Calypso Ventures, Inc.

Hum, that's what I would have thought too. But I've got somthing funny happening. Due to leaving the default durations on some pointers (250ms min and 750ms max), I'm updating  mutliple pointer values every 50ms... that seems to make the system get slower and slower.

I can see the pointer motion slow down as this happens. It has the feel of a memory leak where you run out of resources, but I'm guessing that calling WPF to do an animation faster than the animation duration is a bad idea. I eventually get to where there pointer movement is about 1/sec...

Does the Actiipro code care if it gets called more often than the animation duration time?

I need to make a simpler test case, but have not been able to idenitfy what/where the problem really is yet. Basically I'm searching for clues to follow.

Dave

[Modified 4 years ago]

Posted 4 years ago by Actipro Software Support - Cleveland, OH, USA

If you take a look at our Circular Gauge Dampening QuickStart, that is updating the value every 200ms, which is faster than the 250-750ms dampening range on that sample.  It doens't appear to slow down or anything.  I would expect your scenario to work similarly.


Actipro Software Support
Information The latest build of this product (2018.1 build 0672) was released 2 months ago, which was after the last post in this thread.

Add a Comment

Please log in to a validated account to post comments.